当我尝试使用应用程序负载均衡器创建自动规模组时,使用以下云表单 yml 文件。
LoadBalancer:
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
Properties:
Type: application
Subnets:
Ref: VPCZoneIdentifier
AutoScalingGroup:
Type: AWS::AutoScaling::AutoScalingGroup
DependsOn: LoadBalancer
Properties:
AvailabilityZones:
Ref: "AvailabilityZones"
Cooldown: 120
DesiredCapacity:
Ref: DesiredCapacityASG
LaunchConfigurationName:
Ref: LaunchConfiguration
MaxSize:
Ref: MaxSizeASG
MinSize:
Ref: MinSizeASG
LoadBalancerNames:
- Ref: "LoadBalancer"
TargetGroupARNs:
- !Ref TargetGroup
我收到一个错误信息:"所提供的负载均衡器可能无效。请确保它们存在,然后再试。(服务。AmazonAutoScaling; Status Code: 400;错误代码:ValidationError;请求ID:)"。ValidationError; Request ID:)"。
发生这个错误是因为你使用了 LoadBalancerNames 应用负载均衡器,如上所述 此处
修复方法:删除 LoadBalancerNames 并保持 目标组ARNs 中的属性
LoadBalancerNames: - Ref:"LoadBalancer"
因此,yml文件将像.NET一样。
AutoScalingGroup:
Type: AWS::AutoScaling::AutoScalingGroup
DependsOn: LoadBalancer
Properties:
AvailabilityZones:
Ref: "AvailabilityZones"
Cooldown: 120
DesiredCapacity:
Ref: DesiredCapacityASG
LaunchConfigurationName:
Ref: LaunchConfiguration
MaxSize:
Ref: MaxSizeASG
MinSize:
Ref: MinSizeASG
TargetGroupARNs:
- !Ref TargetGroup