我希望有一个扩展策略,当CPU低于30%时,节点会按比例缩放。
如何控制选择用于扩展的单个实例是CPU最低或者CPU少于30%的实例?
答案 0 :(得分:3)
默认情况下,Auto Scaling首先识别哪个可用性区域具有最多实例(或者,如果它们相等,则选择随机AZ)。然后,它使用终止政策来确定control which instance Auto Scaling terminates during scale-in的实例。
但是,Auto Scaling不会根据“忙碌”的方式选择实例。特别是 - 毕竟,几秒钟之后,该实例可能会更忙,或者更不忙。
幸运的是,Auto Scaling使用connection draining允许正在进行的请求在实例终止之前完成。因此,理论上,实例暂时忙碌并不重要。
如果您在不希望中断的实例上执行长时间运行的任务,则可以配置Auto Scaling Lifecycle Hooks以将实例移至Terminating:Wait
状态。实例不会收到任何新流量。然后,您的应用程序可以在长时间运行的任务完成时发出信号(例如,将日志文件复制到S3,或完成视频渲染),然后Auto Scaling将终止该实例。
最后,如果您希望更多细粒度控制终止哪个实例,您(或您的应用程序)可以通过管理控制台或{{1}专门Detach EC2 Instances From Your Auto Scaling Group API调用。