负载均衡器健康检查与Docker健康检查的区别是什么?

4
我有一个ECS集群,有多个节点(任务定义),由应用负载均衡器前置。在负载均衡器和容器级别(任务定义内)配置健康检查是否有意义?
负载均衡器针对每个已注册的目标运行配置的健康检查,以便注销失败节点。在容器级别设置健康检查可以实现相同的功能:ECS将注销任何未通过健康检查的容器(根据您的配置)。ECS将始终实例化更多的任务定义实例以满足所需计数。
对我来说,如果您的任务定义只有单个容器,则仅在负载均衡器上设置健康检查(因为它是必需的)就足够了。我错过了什么吗?
1个回答

7

“注销(Unregistering)”在负载均衡器和ECS中具有不同的含义。 在负载均衡器中,注销意味着不再向容器发送流量。 在ECS服务中,注销意味着该容器被终止,而ECS服务将尝试用一个健康的容器替换它。

即使只有一个容器,在发生故障时,负载均衡器将停止向其发送流量,但负载均衡器不负责重启容器。将容器替换为健康的容器应由ECS服务调度程序完成。


那么,如果我在 Docker 级别上配置了健康检查,是否也有意义在应用程序负载均衡器级别上配置健康检查呢? - Slava Fomin II
@SlavaFominII 你是指这种HEALTHCHECK吗? - Ervin Szilagyi
Ervin,是的,完全正确。 - Slava Fomin II
2
@SlavaFominII 当您为 ALB 创建目标组时,只要目标不是 Lambda 函数,就必须设置健康检查。您仍然必须在 ALB 上进行配置。 - Ervin Szilagyi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接