当我尝试启动堆栈
时,我不断收到此资源创建错误 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
完整堆栈链接https://github.com/manideep444/cloudformations/blob/master/365sandbox.yml AWS Doc: Amazon EC2 Auto Scaling最初仅支持简单的扩展策略。如果您在引入目标跟踪和步骤策略之前创建了扩展策略,则会将您的策略视为简单的扩展策略。
答案 0 :(得分:1)
" StepAdjustments"应该是list,而不是列表中的列表。
以下是official documentation的示例。
StepAdjustments:
-
MetricIntervalLowerBound: "0"
MetricIntervalUpperBound: "50"
ScalingAdjustment: "1"
-
MetricIntervalLowerBound: "50"
ScalingAdjustment: "2"