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

新部署前终止所有ECS任务:AWS是否有官方实现方案?

AWS ECS 全量替换部署(先排空再部署)的官方方案

针对你提到的不允许新旧版本容器共存的场景,AWS ECS 提供两种官方方案实现先完全排空旧任务,再部署新版本的部署策略,无需自行编写bash脚本:

1. 结合 CodeDeploy 蓝绿部署(推荐用于需精细化控制的场景)

将 ECS 服务的部署类型配置为 EXTERNAL,搭配 AWS CodeDeploy 的蓝绿部署能力:

  • 在 CodeDeploy 部署组中选择「终止旧版任务」的策略,待新版本任务通过健康检查后,一次性停止所有旧任务;
  • 该方案能严格避免新旧版本同时运行,还内置健康验证、自动回滚机制,降低部署风险。

2. 调整 ECS 服务部署参数(快捷直接方案)

通过修改服务的部署参数强制实现先排空再部署:

  • 将服务的 minimumHealthyPercent 设置为 0,maximumPercent 设置为 100;
  • 触发部署时,ECS 会先逐步终止所有旧任务(因最小健康百分比允许0个在线任务),再启动新版本任务;
  • 注意:此方式会导致短暂停机,需提前评估业务影响,同时确保任务定义配置了可靠的健康检查,防止新版本启动失败后服务不可用。

AWS CLI 命令示例

更新服务并触发全量替换部署:

aws ecs update-service --cluster <你的集群名称> --service <你的服务名称> --task-definition <新版任务定义ARN> --minimum-healthy-percent 0 --maximum-percent 100

方案对比

  • 若需要灰度验证、一键回滚等精细化控制,优先选择 CodeDeploy 蓝绿部署;
  • 若业务可接受短暂停机,且追求操作简便,调整服务参数的方式更高效。

内容的提问来源于stack exchange,提问作者Per

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 19:35:18