You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS ECS双部署状态异常:导致Ansible服务稳定校验失败

ECS部署卡住及Ansible校验失败问题解析

核心原因:连接排空机制的延迟

你的问题本质是ECS的**连接排空(Connection Draining)**流程导致的部署状态延迟:

  • 当旧部署(ACTIVE状态,期望计数0)需要终止时,ECS会先触发连接排空,发送(service x, taskSet ecs-svc/9969948609626318494) has begun draining connections on 1 tasks.事件,等待该任务上的现有客户端连接处理完毕后,才会彻底终止任务并标记部署完成。
  • 你设置的最小健康百分比=0仅控制部署过程中允许的健康任务数量下限,不影响旧任务的连接排空等待流程——这是独立于健康检查的机制。

Ansible校验失败的原因

aws ecs wait services-stable命令的触发条件是服务下所有部署都进入稳定状态:

  • 当服务同时存在“进行中”的PRIMARY部署和“未彻底完成”的ACTIVE部署时,服务整体不满足“稳定”要求,因此命令会持续等待直到所有部署状态收敛。

后续自动恢复的逻辑

当旧任务的连接排空完成后:

  • ECS会发送service x (deployment ecs-svc/9969948609626318494) deployment completed.事件,同时清理旧的ACTIVE部署记录和已停止的任务
  • 此时服务仅剩状态稳定的PRIMARY部署(期望计数1),满足services-stable的等待条件,Ansible命令随即执行成功。

优化建议

如果需要减少这类等待时长,可参考以下操作:

  • 调整ECS服务的连接排空超时时间(默认300秒),根据业务场景设置合理的超时阈值(可在服务的负载均衡配置或任务定义中修改)
  • 若业务允许强制终止旧任务,可在部署时添加--force-new-deployment参数,跳过部分连接排空等待(需注意可能导致未处理的客户端连接中断)

内容的提问来源于stack exchange,提问作者João Amaro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 06:30:09