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

如何通过CloudFormation或CLI创建AWS ECS部署的CodeDeploy Deployment Group

解决AWS ECS部署组的CloudFormation/CLI配置问题

错误原因

你遇到的报错:

CDDeploymentGroup CREATE_FAILED Property LoadBalancerInfo cannot be specified.

本质原因是AWS::CodeDeploy::DeploymentGroup资源仅支持EC2/本地服务器和Lambda的部署组配置,ECS专属的部署组需要使用**AWS::CodeDeploy::ECSDeploymentGroup**这个专门的CloudFormation资源类型。另外你配置的CodeDeployDefault.LambdaCanary10Percent5Minutes是Lambda专用的部署配置,也需要替换为ECS兼容的版本。

正确的CloudFormation模板示例

CDDeploymentGroup:
  Type: AWS::CodeDeploy::ECSDeploymentGroup
  Properties:
    ApplicationName: !Ref CDApp
    DeploymentConfigName: CodeDeployDefault.ECSCanary10Percent5Minutes # 替换为ECS专用部署配置
    DeploymentStyle:
      DeploymentType: BLUE_GREEN
      DeploymentOption: WITH_TRAFFIC_CONTROL
    ServiceRoleArn: !GetAtt CodeDeployRole.Arn
    EcsService:
      ClusterName: !Ref ECSCluster
      ServiceName: !Ref Service2
    LoadBalancerInfo:
      TargetGroupPairInfoList:
        - TargetGroups:
            - Name: !Ref LoadBalancerTG1
            - Name: !Ref LoadBalancerTG2
          ProdTrafficRoute:
            ListenerArns: [!Ref LoadBalancerListener1]
          # 如需测试流量路由,可取消注释以下配置
          # TestTrafficRoute:
          #   ListenerArns: [!Ref TestListenerArn]

关键注意点:

  • 必须通过EcsService字段关联你的ECS集群和目标服务
  • 部署配置要使用ECS前缀的预设值,比如CodeDeployDefault.ECSAllAtOnce、CodeDeployDefault.ECSLinear10PercentEvery1Minutes等
  • LoadBalancerInfo的结构和原资源不同,目标组需嵌套在TargetGroups下,与流量路由配对

CLI创建ECS部署组的命令示例

aws deploy create-deployment-group \
  --application-name <你的CodeDeploy应用名> \
  --deployment-group-name <部署组名称> \
  --service-role-arn <CodeDeploy服务角色ARN> \
  --deployment-config-name CodeDeployDefault.ECSCanary10Percent5Minutes \
  --ecs-service clusterName=<ECS集群名>,serviceName=<ECS服务名> \
  --deployment-style deploymentType=BLUE_GREEN,deploymentOption=WITH_TRAFFIC_CONTROL \
  --load-balancer-info targetGroupPairInfoList='[{
    "targetGroups": [{"name": "<目标组1名称>"}, {"name": "<目标组2名称>"}],
    "prodTrafficRoute": {"listenerArns": ["<生产监听器ARN>"]}
  }]'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 00:25:26