如何为部署到AWS ECS的容器配置运行状况检查

时间:2019-11-14 17:46:27

标签: amazon-web-services docker amazon-ecs

我目前正在使用AWS ECS,并且在如何配置已部署到AWS ECS的容器的运行状况检查方面有些困惑。

您可以在TargetGroup上定义运行状况检查,但也可以在TaskDefinition上定义运行状况检查。

我想知道什么是最佳实践,为什么。目前,我已经在TargetGroup中定义了它,并且可以按预期工作。

但是我想清楚地说明为什么您要使用一个?您会在两个地方都定义它吗?

我正在将应用程序负载均衡器与ECS配合使用。

1 个答案:

答案 0 :(得分:1)

如果使用ALB,则应在ALB中使用运行状况检查。

如果ALB检查失败,ALB将使目标组不健康,结果,您的容器将被杀死。

运行状况检查中最重要的是HTTP状态代码,取决于配置,它应该是2003xx4xx。如果指定的代码与目标不匹配,则会被标记为不健康。

两项检查都有不同的目的,

  • 如果您使用的是 ALB ,则应使用ALB运行状况检查
  • 如果您正在使用基于调度程序的任务,则可以使用Docker容器运行状况检查。
  

Amazon Elastic Container Service(ECS)现在支持Docker容器   健康检查。这使您可以更好地控制监视运行状况   完成您的任务并提高ECS服务调度程序的能力   确保您的服务健康。

     

以前,ECS服务调度程序依靠弹性负载   平衡器(ELB)报告容器运行状况并重新启动   不健康的容器。这需要您配置ECS服务   使用负载平衡器,并且仅支持HTTP和TCP运行状况检查。

ecs-supports-container-health-checks-and-task-health-mana

  

如果服务的任务未达到负载均衡器运行状况检查标准,则   任务已停止并重新启动。这个过程一直持续到您的   服务达到了所需的运行任务数量。

service-load-balancing-health