首页 > 解决方案 > 对于 ECS 部署组,不能指定 ec2TagFilters

问题描述

在 CloudFormation 中创建 AWS::CodeDeploy::DeploymentGroup 时,我收到此错误,即使我的脚本中没有 EC2TagFilters:

对于 ECS 部署组,无法指定 ec2TagFilters(服务:AmazonCodeDeploy;状态代码:400;错误代码:InvalidEC2TagException;请求 ID:af5c3f68-6033-4df0-9f6f-ecd064ad6b7b;代理:null)

CodeDeploymentGroupDev:
  Type: AWS::CodeDeploy::DeploymentGroup
  DependsOn:
    - CodeDeployApplication
  Properties:
    ApplicationName: !Ref ApplicationName
    DeploymentConfigName: CodeDeployDefault.AllAtOnce
    DeploymentGroupName: !Sub "${ApplicationName}-Dev"
    DeploymentStyle:
      DeploymentType: IN_PLACE
    OnPremisesTagSet:
      OnPremisesTagSetList:
        - OnPremisesTagGroup:
            - Key: !Ref OnPremisesTagKey
              Type: KEY_AND_VALUE
              Value: !Ref OnPremisesTagValue
    ServiceRoleArn: !Sub 'arn:aws:iam::${AWS::AccountId}:role/CodeDeployServiceRole'

AWS::CodeDeploy::DeploymentGroup 是否未在 CloudFormation 中正确实施?

标签: amazon-cloudformation

解决方案


我可以看到您正在使用 OnPremisesTagSet,这意味着您应该已经使用 CodeDeploy 注册了本地实例,请参阅https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-on-premises.html

如果您使用的是 Ec2,那么您需要使用 Ec2TagSet 而不是 OnPremisesTagSet。


推荐阅读