我对 AWS::ECS::Service 资源的 AWS CloudFormation 堆栈更新陷入 UPDATE_IN_PROGRESS 或 UPDATE_ROLLBACK_IN_PROGRESS 状态。我想稳定堆栈并让我的服务启动新任务。
简短描述
当服务无法启动任务时,您的 Amazon Elastic Container Service (Amazon ECS) 服务可能会陷入 UPDATE_IN_PROGRESS 或 UPDATE_ROLLBACK_IN_PROGRESS 状态。
以下是 Amazon ECS 服务无法启动新任务的一些常见原因:
- 容器映像问题
- 缺乏启动任务所需的资源
- 负载均衡器运行状况检查失败
- 实例配置或 Amazon ECS 容器代理问题
Amazon ECS 服务无法启动任务导致 AWS CloudFormation 陷入 UPDATE_IN_PROGRESS 状态。然后,AWS CloudFormation 回滚到先前的配置,这个过程需要等待数个小时。在堆栈回滚到先前配置期间,如果导致堆栈失败的问题仍然存在,则堆栈将陷入 UPDATE_ROLLBACK_IN_PROGRESS 状态。最后,堆栈的状态会更改为 UPDATE_ROLLBACK_FAILED。
AWS CloudFormation 堆栈可能需要几个小时才能稳定下来。要更快地稳定堆栈,请完成以下步骤。
**重要提示:**以下解决方法旨在帮助您快速稳定 AWS CloudFormation 堆栈,而无需等待堆栈超时。该解决方法不适用于生产环境,因为 Amazon ECS 服务与已知的 AWS CloudFormation 状态不同步。要在 Amazon ECS 服务和 AWS CloudFormation 堆栈之间同步资源,您必须在堆栈上执行无错更新。
解决方法
更改 Amazon ECS 服务所需的任务数
- 打开 Amazon ECS 控制台。
- 选择您的集群。
- 选择服务,然后选择更新。
- 将任务数设置为 0,然后保存配置。
确定 Amazon ECS 服务无法启动新任务的原因
- 打开 Amazon ECS 控制台。
- 选择您的集群。
- 选择服务,然后选择事件。
注意:****事件部分显示服务不稳定的原因。
- 根据您确定的问题选择解决方法:
您的任务未通过 Elastic Load Balancing (ELB) 运行状况检查。
标记为任务定义必不可少的容器已退出或中止。
您无法设置任务,因为您的容器实例不符合必要的要求。
您收到“无法拉取容器映像”错误。
</ol