自动调节:实例突然启动和终止[AWS]

时间:2015-01-20 08:52:19

标签: amazon-web-services autoscaling aws-cli

我正在尝试创建一个完整的系统(使用AWS CLI),其中autoscaling是其中的一部分。

当我添加自动缩放组时,实例启动,但是在5分钟的冷却时间(默认的冷却时间)之后,实例会自动终止,并且此循环不断重复,尽管我的阈值是< = 0%CPU利用率对于RemoveCapacity策略。我无法理解为什么会这样?

以下是我用来创建所有相关资源的命令。

自动缩放组:

aws autoscaling create-auto-scaling-group --auto-scaling-group-name AWS-CoE-1-AutoScalingGroup --launch-configuration  AWS-CoE-1-AS-launch-config --max-size 3 --min-size 1 --desired-capacity 1 --health-check-type ELB --load-balancer-names AWS-CoE-1-LoadBalancer --health-check-grace-period 120 --vpc-zone-identifier subnet-153f2d53

横向扩展政策

aws autoscaling put-scaling-policy --policy-name aws-coe-scaleout-policy --auto-scaling-group-name AWS-CoE-1-AutoScalingGroup --scaling-adjustment 1 --adjustment-type ChangeInCapacity

政策扩展

aws autoscaling put-scaling-policy --policy-name aws-coe-scalein-policy --auto-scaling-group-name AWS-CoE-1-AutoScalingGroup --scaling-adjustment -1 --adjustment-type ChangeInCapacity

Cloud Watch :向AddCapacity报警

aws cloudwatch put-metric-alarm --alarm-name AddCapacity --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 120 --threshold 80 --comparison-operator GreaterThanOrEqualToThreshold --dimensions "Name=AutoScalingGroupName,Value=AWS-CoE-1-AutoScalingGroup"   --evaluation-periods 2 --alarm-actions arn:aws:autoscaling:us-west-1:132895064974:scalingPolicy:03ff8c7b-cf7c-4d9b-970c-be7f4884415d:autoScalingGroupName/AWS-CoE-1-AutoScalingGroup:policyName/aws-coe-scaleout-policy

Cloud Watch :警报至RemoveCapacity

aws cloudwatch put-metric-alarm --alarm-name RemoveCapacity --metric-name CPUUtilization --namespace AWS/EC2  --statistic Average --period 120 --threshold 0 --comparison-operator LessThanOrEqualToThreshold  --dimensions "Name=AutoScalingGroupName,Value=AWS-CoE-1-AutoScalingGroup" --evaluation-periods 2  --alarm-actions arn:aws:autoscaling:us-west-1:132895064974:scalingPolicy:6b3d9ba4-b4a9-472e-95f6-31fc0772ec33:autoScalingGroupName/AWS-CoE-1-AutoScalingGroup:policyName/aws-coe-scalein-policy

在整个启动和终止实例时,我的警报状态仍为OK

1 个答案:

答案 0 :(得分:1)

当实例联机时,它必须通过ELB运行状况检查,否则将通过自动扩展终止。您的启动配置是否包含用于实例自动引导的用户数据,或启动AMI是否会自动启动Web服务?如果没有,您需要对此进行配置,以便Autoscaling将实例视为健康。

请参阅AWS docs on ELB health checks