如何参考`AWS :: CodeDeploy :: DeploymentGroup :: LoadBalancerInfo?

问题描述 投票:0回答:1

我正在尝试将我的LoadBalancer和TargetGroup与DeploymentGroup链接,当我运行模板时,它说“无法指定Property LoadBalancerInfo。”这是我的模板的快照。我的模板正确吗?

EC2TargetGroup:
 Type: AWS::ElasticLoadBalancingV2::TargetGroup
 Properties:
   HealthCheckIntervalSeconds: 30
   HealthCheckProtocol: HTTP
   HealthCheckTimeoutSeconds: 15
   HealthyThresholdCount: 5
   Matcher:
     HttpCode: '200'
   Name: !Ref EC2TargetGroupName
   Port: 80
   Protocol: HTTP
   TargetGroupAttributes:
   - Key: deregistration_delay.timeout_seconds
     Value: '20'
   UnhealthyThresholdCount: 3
   VpcId: !Ref VPC

ApplicationLoadBalancer:
 Type: AWS::ElasticLoadBalancingV2::LoadBalancer
 Properties:
   Scheme: internet-facing
   SecurityGroups:
   - Ref: ELBSecurityGroup
   Subnets: !Ref Subnets

myAutoScalingGroup:
 Type: AWS::AutoScaling::AutoScalingGroup
 Properties:
  AutoScalingGroupName: !Ref ScalingGroupName
  MinSize: "1"
  MaxSize: !Ref MaxSize
  HealthCheckGracePeriod: 300
  LaunchTemplate:
    LaunchTemplateId: !Ref launchTemplate
    Version: !GetAtt launchTemplate.LatestVersionNumber

MyDeploymentGroup:
 Type: AWS::CodeDeploy::DeploymentGroup
 Properties:
  ApplicationName: !Ref ApplicationName
  DeploymentConfigName: CodeDeployDefault.AllAtOnce
  ServiceRoleArn: !GetAtt [PipelineRole, Arn]
  LoadBalancerInfo:
    TargetGroupInfoList:
      - Name: !Ref EC2TargetGroupName ############  ERROR ######
  DeploymentStyle:
    DeploymentType: BLUE_GREEN
    DeploymentOption: WITH_TRAFFIC_CONTROL
amazon-web-services amazon-cloudformation aws-code-deploy aws-auto-scaling
1个回答
0
投票

[不幸的是,目前CloudFormation中的CodeDeploy仅支持Lambda平台上的Blue / Green部署,但是模板中的部署配置“ CodeDeployDefault.AllAtOnce”适用于EC2平台。

CloudFormation尚不支持EC2平台的原因是,Blue / Green CodeDeploy部署与CloudFormation执行的资源管理从根本上是不一致的。从本质上讲,CodeDeploy中的蓝/绿功能将通过克隆现有的ASG来代表客户启动Auto Scaling组,一旦部署完成并稳定下来,它将删除源ASG。这种带外创建/删除从根本上违反了CloudFormation的核心功能,该功能的所有资源操作均源自CloudFormation本身。

作为替代方案,我建议您看一下此博客文章以及有关如何使用CodeDeploy [1、2]设置蓝色/绿色部署的相关示例。

[1] https://aws.amazon.com/blogs/devops/performing-bluegreen-deployments-with-aws-codedeploy-and-auto-scaling-groups/

[2] https://github.com/awslabs/codedeploy-blue-green

© www.soinside.com 2019 - 2024. All rights reserved.