我目前正在使用AWS ECS,并且在如何配置已部署到AWS ECS的容器的运行状况检查方面有些困惑。
您可以在TargetGroup上定义运行状况检查,但也可以在TaskDefinition上定义运行状况检查。
我想知道什么是最佳实践,为什么。目前,我已经在TargetGroup中定义了它,并且可以按预期工作。
但是我想清楚地说明为什么您要使用一个?您会在两个地方都定义它吗?
我正在将应用程序负载均衡器与ECS配合使用。
答案 0 :(得分:1)
如果使用ALB,则应在ALB中使用运行状况检查。
如果ALB检查失败,ALB将使目标组不健康,结果,您的容器将被杀死。
运行状况检查中最重要的是HTTP状态代码,取决于配置,它应该是200
或3xx
或4xx
。如果指定的代码与目标不匹配,则会被标记为不健康。
两项检查都有不同的目的,
Amazon Elastic Container Service(ECS)现在支持Docker容器 健康检查。这使您可以更好地控制监视运行状况 完成您的任务并提高ECS服务调度程序的能力 确保您的服务健康。
以前,ECS服务调度程序依靠弹性负载 平衡器(ELB)报告容器运行状况并重新启动 不健康的容器。这需要您配置ECS服务 使用负载平衡器,并且仅支持HTTP和TCP运行状况检查。
ecs-supports-container-health-checks-and-task-health-mana
如果服务的任务未达到负载均衡器运行状况检查标准,则 任务已停止并重新启动。这个过程一直持续到您的 服务达到了所需的运行任务数量。