CloudFormation 无法创建 CodeDeploy DeploymentGroup

CloudFormation fails to create CodeDeploy DeploymentGroup

我正在尝试组合一些 CloudFormation 来设置 CodePipeline,以便从 Github 部署到 ECS/Fargate。

但是,我总是收到错误消息:

For ECS deployment group, ec2TagFilters can not be specified (Service: AmazonCodeDeploy; Status Code: 400; Error Code: InvalidEC2TagException;

每当我尝试建立我的 CloudFormation 堆栈时。但是,我的文件中根本没有 'ec2TagFilters'。

我能找到的关于这个问题的唯一参考是旧的 ,但他们针对的是 Lambda,'fix' 建议对我不起作用。

CF YAML 的相关片段:

    ExampleApp:
      Type: AWS::CodeDeploy::Application
      Properties:
        ApplicationName: !Join [ "-", [ "example", !Ref "Environment" ] ]
        ComputePlatform: ECS

    ExampleDeploymentGroup:
      Type: AWS::CodeDeploy::DeploymentGroup
      Properties:
        ApplicationName: !Ref ExampleApp
        DeploymentGroupName: !Join [ "-", [ "example", !Ref "Environment"] ]
        ServiceRoleArn: !Ref ServiceRoleArn

我从来没有让这个工作过。但是,我意识到我的设置不需要 Application/DeploymentGroup。

CodeDeploy 可以在 Deploy 步骤中使用 'ECS' 作为 Provider,这消除了必要性。

CF 给所有来到这里的人:

- Name: Deploy
  Actions:
    - Name: Deploy
      RunOrder: 2
      InputArtifacts:
        - Name: AppBuilt
      ActionTypeId:
        Category: Deploy
        Owner: AWS
        Version: 1
        Provider: ECS
      Configuration:
        ClusterName: !Ref EcsCluster
        ServiceName: !Ref EcsService

来自 AWS 文档:

ECS blue/green deployments through CodeDeploy do not use the AWS::CodeDeploy::DeploymentGroup resource.

参见:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html