问题描述
我有一个具有期望的/最小/最大值的1/1/5实例的ASG(我希望ASG仅用于滚动部署和区域故障转移)。当我以MinHealthyPercentage = 100,InstanceWarmup = 180开始实例刷新时,该过程将通过注销注册开始(实例几乎立即在我的ALB上进入排水模式,而不是等待180 Warmup秒直到新实例运行正常),然后应用程序变为暂时无法使用。 请注意,这不仅仅针对我的一个实例。如果我有两个实例,则该过程还从注销其中一个实例开始,并且该实例也不满足100%MinHealthy约束(不过该应用程序将保持可用状态)! 我还应该调整其他配置选项以创建滚动更新并首先预热新实例吗?
解决方法
当前实例刷新总是在启动之前终止,它使用minHealthyPercent确定批处理大小以及何时可以移至下一个后退。
“在实例刷新期间,Amazon EC2 Auto Scaling使一组实例停止服务,终止它们,然后启动一组实例”-https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html
,现在似乎不再如此。实例刷新现在创建一个新实例,并在健康检查成功后终止旧实例。 AWS Support 提到这种行为自 2020 年以来没有改变。