自动扩展:实例突然启动和终止 [AWS]



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

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

以下是我为创建所有相关资源而运行的命令。

自动缩放组:

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

云观察:报警到添加容量

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

云观察:删除容量警报

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

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

请参阅 有关 ELB 运行状况检查的 AWS 文档。

最新更新