如何修复 CloudFormation 错误“提供的负载均衡器可能无效。请确保它们存在并重试
How to Fix CloudFormation error "Provided Load Balancers may not be valid. Please ensure they exist and try again
当我尝试使用以下 cloudformation yaml 文件使用应用程序负载均衡器创建 Auto Scaling 组时
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
我收到一条错误消息 "Provided Load Balancers may not be valid. Please ensure they exist and try again. (Service: AmazonAutoScaling; Status Code: 400; Error Code: ValidationError; Request ID:)"
发生此错误是因为您将 LoadBalancerNames 用于应用程序负载均衡器,如前所述 here
修复它:删除 LoadBalancerNames 并在属性
中保留 TargetGroupARNs
负载均衡器名称:
- 参考:"LoadBalancer"
所以 yml 文件将是这样的:
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
如果您使用的是 ansible ec2_asg
模块并到达此处,请将 load_balancers:
替换为 target_group_arns
并传递目标组的 ARN。
当我尝试使用以下 cloudformation yaml 文件使用应用程序负载均衡器创建 Auto Scaling 组时
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
我收到一条错误消息 "Provided Load Balancers may not be valid. Please ensure they exist and try again. (Service: AmazonAutoScaling; Status Code: 400; Error Code: ValidationError; Request ID:)"
发生此错误是因为您将 LoadBalancerNames 用于应用程序负载均衡器,如前所述 here
修复它:删除 LoadBalancerNames 并在属性
中保留 TargetGroupARNs负载均衡器名称:
- 参考:"LoadBalancer"
所以 yml 文件将是这样的:
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
如果您使用的是 ansible ec2_asg
模块并到达此处,请将 load_balancers:
替换为 target_group_arns
并传递目标组的 ARN。