【问题标题】:Amazon ECS: Target Group Health Check vs Container Health CheckAmazon ECS:目标组健康检查与容器健康检查
【发布时间】:2022-02-11 07:48:59
【问题描述】:

Amazon ECS 支持两种不同类型的运行状况检查:

如果配置了两种运行状况检查,哪一种会胜出?如果 其中一个 失败,服务是否标记为 UNHEALTHY?还是两者?我可以配置一个来覆盖另一个吗?

我非常希望 Target Group 健康状态不会导致 ECS 不断反弹服务,我希望可以使用容器健康检查来覆盖它。

【问题讨论】:

  • 我知道的老问题,但我今天也有同样的问题,我翻阅了 AWS 文档并添加了我看到的答案。

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


【解决方案1】:

AWS 文档在这个主题上有些模糊,但在健康检查方面确实表明 ALB 和 ECS 之间存在高度耦合。即,请参阅 documentation for healthCheckGracePeriodSecondsminimumHealthyPercent,了解受负载均衡器存在与否影响的 ECS 健康检查行为示例。

healthCheckGracePeriodSeconds 可能有助于避免失败的 ALB 健康检查导致 ECS 容器重新启动(至少在服务启动期间):

在任务进入 RUNNING 状态后,Amazon ECS 服务计划程序应忽略不正常的 Elastic Load Balancing 目标运行状况检查、容器运行状况检查和 Route 53 运行状况检查的时间段(以秒为单位)。这仅在您的服务配置为使用负载平衡器时有效。如果您的服务定义了负载均衡器并且您未指定运行状况检查宽限期值,则使用默认值 0。

如果您的服务任务需要一段时间才能启动并响应健康检查,您可以指定最长 2,147,483,647 秒的健康检查宽限期,在此期间 ECS 服务调度程序会忽略健康检查状态。此宽限期可以防止 ECS 服务调度程序将任务标记为不健康并在它们有时间启动之前将其停止。

【讨论】:

    【解决方案2】:

    根据我的经验,任何一个都会导致您的容器退役。如果您有目标群体执行检查,我会说您可能不需要容器健康检查。

    【讨论】:

      猜你喜欢
      • 2022-08-04
      • 2021-04-20
      • 2021-02-25
      • 1970-01-01
      • 2017-04-21
      • 2018-06-16
      • 2014-10-02
      • 2021-09-13
      • 2019-11-03
      相关资源
      最近更新 更多