我对 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 状态。然后,几个小时后,CloudFormation 会回滚到以前的配置。如果在堆栈回滚到先前配置的过程中导致堆栈故障的问题仍然存在,则堆栈将卡滞在 UPDATE_ROLLBACK_IN_PROGRESS 状态。最后,堆栈更改为 UPDATE_ROLLBACK_FAILED 状态。
CloudFormation 堆栈可能需要几个小时才能稳定下来。要更快地稳定堆栈,请完成以下步骤。
**重要事项:**以下解决方法旨在帮助您快速稳定 CloudFormation 堆栈,无需等待堆栈超时。该解决方法不适用于生产环境,因为 Amazon ECS 服务与 AWS CloudFormation 的已知状态不同步。要在您的 Amazon ECS 服务和 AWS CloudFormation 堆栈之间同步资源,请直接更新堆栈。
解决方法
更改 Amazon ECS 服务的任务数
- 打开 Amazon ECS 控制台。
- 选择您的集群。
- 选择服务,然后选择 Update(更新)。
- 将 Number of tasks(任务数量)设置为 0,然后保存配置。
确定为什么 Amazon ECS 服务无法启动新任务
- 打开 Amazon ECS 控制台。
- 选择您的集群。
- 选择服务,然后选择 Events(事件)。
**注意:**Events(事件)部分显示您的服务不稳定的原因。
解决您发现的问题
根据您发现的问题选择解决方案: