为什么注册到 ELB 的正常运行的 Amazon ECS 任务被标记为运行不正常并被替换?

上次更新日期:2022 年 9 月 19 日

弹性负载均衡(ELB)反复将正常运行的 Amazon Elastic Container Service (Amazon ECS) 任务标记为运行不正常。这些错误标记的任务将停止,然后将会启动新任务。如何对此问题进行故障排除?

简短描述

某些 Amazon ECS 任务具有多个依赖项和冗长的引导流程,这些流程可能会超出 ELB 运行状况检查宽限期,即使在按预期正常运行时也会出现这种情况。如果 Amazon ECS 任务在宽限期内未响应 ELB 运行状况检查,它们将被标记为“运行不正常”。要延长您的服务的运行状况检查宽限期,请完成以下步骤。

要对未通过应用程序负载均衡器运行状况检查的 ECS 任务进行故障排除,请参阅如何让使用 Amazon EC2 启动类型运行的 Amazon ECS 任务通过 Amazon ECS 中的应用程序负载均衡器运行状况检查?

解决方案

如果未配置宽限期,则服务计划程序会立即替换所有标记为运行不正常的目标。更改宽限期,以便您的 Amazon ECS 任务有充足时间完成其流程并通过运行状况检查。

  1. 打开 AWS Management Console(亚马逊云科技管理控制台)。
  2. 在导航栏中,选择 Services(服务),然后从列表中选择 ECS
  3. Service Name(服务名称)列表中,选择您的服务。
  4. 选择 Update(更新)。
  5. 选择 Next step(下一步)。
  6. Step 2: Configure network(步骤 2:配置网络)页面上,将 Health check grace period(运行状况检查宽限期)更改为服务的适当时间段(最长为 21.47483647 亿秒)。
    注意:为防止延迟替换理应运行不正常的 Amazon ECS 任务,请仔细估算最长已知任务所需的宽限期。设置宽限期时,请考虑所有相关因素,例如引导时间和提取容器映像的时间。
  7. 选择 Next step(下一步),然后选择 Update Service(更新服务)。

您还可以延长宽限期:


这篇文章对您有帮助吗?


您是否需要账单或技术支持?