Cloudformation 错误(属性 Stepadjustments 的值必须是对象列表)
Cloudformation Error(Value of property Stepadjustments must be a list of objects)
当我尝试启动堆栈时,我不断收到此资源创建错误
ServiceScalingPolicyIn:
Properties:
PolicyName: StepDown
PolicyType: StepScaling
ScalingTargetId:
Ref: ServiceScalingTarget
StepScalingPolicyConfiguration:
AdjustmentType: ChangeInCapacity
Cooldown: '300'
MetricAggregationType: Average
StepAdjustments:
- - MetricIntervalLowerBound: '0'
ScalingAdjustment:
Ref: TasksCount
Type: AWS::ApplicationAutoScaling::ScalingPolicy
CPUAlarmScalein:
Properties:
EvaluationPeriods: '1'
Statistic: Average
Threshold: '25'
AlarmDescription: Alarm if CPU usage is lower, this will always be
Period: '300'
AlarmActions:
- Ref: ServiceScalingPolicyIn
Namespace: AWS/ECS
Dimensions:
- Name: ClusterName
Value: ECS365-sandbox
- Name: ServiceName
Value: ECSService365
ComparisonOperator: LessThanThreshold
MetricName: CPUUtilization
Type: AWS::CloudWatch::Alarm
我尝试调整更改
ServiceScalingTarget:
DependsOn: ECSService365
Properties:
MaxCapacity: '10'
MinCapacity: '1'
ResourceId:
Fn::Join:
- ''
- - service/
- Ref: Cluster365
- "/"
- Fn::GetAtt:
- ECSService365
- Name
RoleARN:
Fn::GetAtt:
- AutoscalingRole
- Arn
ScalableDimension: ecs:service:DesiredCount
ServiceNamespace: ecs
Type: AWS::ApplicationAutoScaling::ScalableTarget
全栈linkhttps://github.com/manideep444/cloudformations/blob/master/365sandbox.yml
AWS 文档:
Amazon EC2 Auto Scaling 最初只支持简单的扩展策略。如果您在引入目标跟踪和步骤策略之前创建了缩放策略,您的策略将被视为简单缩放策略。
enter image description here
"StepAdjustments" 应该是 list,而不是列表中的列表。
这是来自 official documentation 的示例。
StepAdjustments:
-
MetricIntervalLowerBound: "0"
MetricIntervalUpperBound: "50"
ScalingAdjustment: "1"
-
MetricIntervalLowerBound: "50"
ScalingAdjustment: "2"
当我尝试启动堆栈时,我不断收到此资源创建错误
ServiceScalingPolicyIn:
Properties:
PolicyName: StepDown
PolicyType: StepScaling
ScalingTargetId:
Ref: ServiceScalingTarget
StepScalingPolicyConfiguration:
AdjustmentType: ChangeInCapacity
Cooldown: '300'
MetricAggregationType: Average
StepAdjustments:
- - MetricIntervalLowerBound: '0'
ScalingAdjustment:
Ref: TasksCount
Type: AWS::ApplicationAutoScaling::ScalingPolicy
CPUAlarmScalein:
Properties:
EvaluationPeriods: '1'
Statistic: Average
Threshold: '25'
AlarmDescription: Alarm if CPU usage is lower, this will always be
Period: '300'
AlarmActions:
- Ref: ServiceScalingPolicyIn
Namespace: AWS/ECS
Dimensions:
- Name: ClusterName
Value: ECS365-sandbox
- Name: ServiceName
Value: ECSService365
ComparisonOperator: LessThanThreshold
MetricName: CPUUtilization
Type: AWS::CloudWatch::Alarm
我尝试调整更改
ServiceScalingTarget:
DependsOn: ECSService365
Properties:
MaxCapacity: '10'
MinCapacity: '1'
ResourceId:
Fn::Join:
- ''
- - service/
- Ref: Cluster365
- "/"
- Fn::GetAtt:
- ECSService365
- Name
RoleARN:
Fn::GetAtt:
- AutoscalingRole
- Arn
ScalableDimension: ecs:service:DesiredCount
ServiceNamespace: ecs
Type: AWS::ApplicationAutoScaling::ScalableTarget
全栈linkhttps://github.com/manideep444/cloudformations/blob/master/365sandbox.yml AWS 文档: Amazon EC2 Auto Scaling 最初只支持简单的扩展策略。如果您在引入目标跟踪和步骤策略之前创建了缩放策略,您的策略将被视为简单缩放策略。
enter image description here
"StepAdjustments" 应该是 list,而不是列表中的列表。
这是来自 official documentation 的示例。
StepAdjustments:
-
MetricIntervalLowerBound: "0"
MetricIntervalUpperBound: "50"
ScalingAdjustment: "1"
-
MetricIntervalLowerBound: "50"
ScalingAdjustment: "2"