我有一个由应用程序负载均衡器前端的具有多个节点(任务定义)的ECS集群。在负载平衡器和容器级别(在任务定义中)配置运行状况检查是否有意义?
负载平衡器对每个注册的目标运行配置的运行状况检查,以便它可以取消注册失败节点。在容器级别设置运行状况检查实现了相同的目的:ECS将取消注册任何未通过运行状况检查的容器(根据您的配置)。ECS将总是实例化你的任务def的更多实例来满足你想要的数量。
对我来说,这听起来像是如果您的任务定义只有一个容器,那么只需在负载平衡器上设置健康检查(因为它是必需的)就足够了。我错过什么了吗?
在负载平衡器和ECS的情况下,注销意味着不同的事情。在负载平衡器未注册的情况下,意味着没有进一步的流量发送到容器。在ECS服务的情况下,未注册意味着容器被终止,ECS服务将尝试用健康的容器替换它。
即使您只有一个容器,在发生故障的情况下,负载平衡器将停止向其发送流量,但重新启动容器不是负载平衡器的工作。应由ECS服务调度器将容器替换为正常运行的容器。