首页 > 解决方案 > 负载均衡器健康检查与 docker 健康检查?

问题描述

我有一个带有多个节点(任务定义)的 ECS 集群,前面有一个应用程序负载均衡器。在负载均衡器和容器级别(在任务定义中)配置健康检查是否有意义?

负载均衡器针对每个注册的目标运行配置的运行状况检查,以便它可以取消注册失败的节点。在容器级别设置健康检查可以完成同样的事情:ECS 将注销任何未通过健康检查的容器(根据您的配置)。ECS 将始终实例化您的任务 def 的更多实例以满足您所需的数量。

在我看来,如果您的任务定义只有一个容器,那么只需在负载均衡器上设置健康检查(因为它是必需的)就足够了。我错过了什么吗?

标签: amazon-web-servicesdockeramazon-ecshealth-monitoringaws-application-load-balancer

解决方案


在负载均衡器和 ECS 的情况下,取消注册意味着不同的事情。如果负载均衡器注销意味着没有进一步的流量发送到容器。对于 ECS 服务,unrigestering 意味着容器被杀死,ECS 服务将尝试用一个健康的容器替换它。

即使您只有一个容器,如果发生故障,负载均衡器也会停止向其发送流量,但重新启动容器不是负载均衡器的工作。将容器替换为健康的容器应该由 ECS 服务调度程序完成。


推荐阅读