繁体   English   中英

在ECS + ALB中对容器端口和主机端口进行健康检查

[英]Health check on container port and host port in ECS + ALB

我在ECS中的部署存在问题。

我尝试在前面有ALB的2个EC2实例上部署2个docker映像的4个实例。

因此,在我的任务定义中,我使用了动态端口映射(容器端口80上为2 Nginx)。

这在目标组的运行状况检查中造成了麻烦。 实际上,对于每个实例,我都会在动态端口(可以)和容器端口(80)上进行运行状况检查。

所以动态端口说,没关系。 从逻辑上说,容器端口不健康...(就像我的屏幕截图一样) 在此处输入图片说明

因此,您能帮助我找到为什么我遇到这种类型的错误(此错误使我的服务器每5分钟终止一次...。)

预先感谢您的帮助:D

因此,对我来说,您似乎还没有完全使用动态端口映射。 对于动态端口映射,您可以

客户端-> ALB(端口80)-> EC2主机(动态端口)->容器(动态端口)-> Nginx(端口80)

您的所有健康检查都不会碰到端口80,因为使用端口80的唯一功能是应用程序和nginx的外部连接(但已映射到其他端口)。 对于ALB健康检查,您真正需要的只是一条击中路径,该端口将默认为其连接的端口。

请参阅此文档中的主机端口映射: http : //docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PortMapping.html

ALB健康检查文档: http : //docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html

我在AWS支持下找到了解决方案。

因此,这里有两个问题:

  1. 要禁用杀死EC2实例的运行状况,请转到自动伸缩组,然后将运行状况检查切换为“ EC2”类型

  2. 要删除端口80上的运行状况检查,请转到自动扩展组,然后在“目标组”部分下,删除由ECS管理的目标组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM