我有一个负载平衡器,我创build了一个自动缩放组和启动configuration。 我创build了最小尺寸为1,最大尺寸为20的自动缩放组。我有一个缩放策略:
as-put-scaling-policy SBMScaleDownPolicy --auto-scaling-group SBMAutoScaleGroup --adjustment=-1 --type ChangeInCapacity --cooldown 300
然后我设置了一个闹钟:
mon-put-metric-alarm SBMLowCPUAlarm --comparison-operator LessThanThreshold --evaluation-periods 1 --metric-name CPUUtilization --namespace "AWS/EC2" --period 600 --statistic Average --threshold 35 --alarm-actions arn:aws:autoscaling:us-east-1:policystuffhere:autoScalingGroupName/SBMAutoScaleGroup:policyName/SBMScaleDownPolicy --dimensions "AutoScalingGroupName=SBMAutoScaleGroup"
当10分钟内的平均CPU使用率低于35时,在CloudFront中,警报显示为“处于警报状态”,但不会减less实例数量。 另外,如果只有一个实例运行,即使没有命中放大警报,它也会将另一个实例旋转到2。 似乎默认值只是设置为2。 我怎样才能改变这个?
可能的原因是您启用了多个可用区,并且确保每个区域中至less有一个实例。
推测你的自动缩放组SBMAutoScaleGroup没有完全按照需要configuration – 你检查了CreateAutoScalingGroup的结果吗? 请参阅“ Auto Scaling with Alarms and Load Balancing ”一节中的“ 命令行工具示例”一节中的示例7,以便您轻松完成此操作:
as-describe-auto-scaling-groups SBMAutoScaleGroup --headers
结果表格应显示最小尺寸 , 最小尺寸和期望容量的所需值。
同样,您可能需要validation策略是否已正确连接:
as-describe-policies SBMAutoScaleGroup
结果表格应该列出您的自动缩放策略SBMScaleDownPolicy,其中包含所需的ADJUSTMENT , TYPE和COOLDOWN值 。
示例5中提到了as-put-scaling-policy可能失败的一个可能原因as-put-scaling-policy在使用警报和负载平衡的Auto Scaling页上的命令行工具示例部分中强调了使用Windows命令行时的特定要求:
如果您使用Windows,请将–adjustment参数用引号括起来:“–adjustment = -1”。
弄清楚了。 我已经手动将第一个实例添加到负载平衡器。 删除后,一切按预期运作。