使用 AWS CloudFormation 对 AutoScalingPolicy 创建进行故障排除
Troubleshooting AutoScalingPolicy creation with AWS CloudFormation
在 AWS 中使用 CloudFormation 创建附加了 AutoScalingPolicy 的 AutoScalingGroup 时,您可能会遇到错误
the load balancer does not route traffic to the target group
如果将 AutoScalingPolicy 从脚本中排除,则相同的 CloudFormation 脚本运行良好。此外,在不使用 AutoScalingPolicy 的情况下使用 ResourceLable 作为脚本的输出,输出看起来是正确的。
假设:AutoScalingPolicy 和 LoadBalancer 或相应的 TargetGroup 之间存在未解决的依赖关系。
为确保在创建 AutoScalingPolicy 之前正确解析依赖关系并创建 LoadBalancer 和 TargetGroup,请使用 AutoScalingPolicy 中的 DependsOn 属性,引用 ELBListener:
myAutoScalingPolicy:
Type: AWS::AutoScaling::ScalingPolicy
DependsOn: myElbListener
Properties:
AutoScalingGroupName: !Ref myAutoScalingGroup
PolicyType: TargetTrackingScaling
TargetTrackingConfiguration:
PredefinedMetricSpecification:
PredefinedMetricType: ALBRequestCountPerTarget
ResourceLabel: !Join
- '/'
- - !GetAtt myELB.LoadBalancerFullName
- !GetAtt myELBTargetGroup.TargetGroupFullName
TargetValue: '50'
在 AWS 中使用 CloudFormation 创建附加了 AutoScalingPolicy 的 AutoScalingGroup 时,您可能会遇到错误
the load balancer does not route traffic to the target group
如果将 AutoScalingPolicy 从脚本中排除,则相同的 CloudFormation 脚本运行良好。此外,在不使用 AutoScalingPolicy 的情况下使用 ResourceLable 作为脚本的输出,输出看起来是正确的。
假设:AutoScalingPolicy 和 LoadBalancer 或相应的 TargetGroup 之间存在未解决的依赖关系。
为确保在创建 AutoScalingPolicy 之前正确解析依赖关系并创建 LoadBalancer 和 TargetGroup,请使用 AutoScalingPolicy 中的 DependsOn 属性,引用 ELBListener:
myAutoScalingPolicy:
Type: AWS::AutoScaling::ScalingPolicy
DependsOn: myElbListener
Properties:
AutoScalingGroupName: !Ref myAutoScalingGroup
PolicyType: TargetTrackingScaling
TargetTrackingConfiguration:
PredefinedMetricSpecification:
PredefinedMetricType: ALBRequestCountPerTarget
ResourceLabel: !Join
- '/'
- - !GetAtt myELB.LoadBalancerFullName
- !GetAtt myELBTargetGroup.TargetGroupFullName
TargetValue: '50'