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

ECS服务部署控制器能否从ECS改为CODE_DEPLOY?含容量提供商策略场景

AWS ECS部署控制器修改的限制说明

这确实是AWS ECS的设计限制——你没法在已经使用CapacityProviderStrategy的ECS服务上修改部署控制器类型为CODE_DEPLOY,创建这类服务时也没法选CODE_DEPLOY控制器,只能通过重建服务来实现。

具体细节:

  • 创建服务阶段,一旦选了CapacityProviderStrategy,控制台会直接禁用CODE_DEPLOY部署控制器选项。这是因为ECS的CapacityProviderStrategy和CODE_DEPLOY部署控制器的底层架构存在兼容性约束,二者不能在同一个服务实例中共存。
  • 控制台修改服务时看不到对应选项、CLI命令报错,都是这个限制的体现。顺带提一句,你用的CLI参数格式其实不对,正确格式应该是aws ecs update-service --cluster=my-cluster --service=my-service --region=us-east-2 --deployment-controller type=CODE_DEPLOY(注意参数是--deployment-controller而非下划线,且直接跟键值对),但就算格式对了,因为设计限制,这个操作还是会失败。

解决办法:

要用上CODE_DEPLOY部署控制器,只能重新建服务:

  1. 先把原服务的任务定义、容量策略等配置信息备份好
  2. 新建服务时,先选CODE_DEPLOY作为部署控制器类型,再根据需求配置CapacityProviderStrategy(注意:Fargate容量提供商在部分区域支持和CODE_DEPLOY搭配,但EC2类型的CapacityProviderStrategy和CODE_DEPLOY的组合要确认当前区域是否支持)
  3. 新服务部署完成后,逐步把流量迁过去,再删掉原服务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 05:55:20