【问题标题】:AWS controlling which instance is scaled-in when autoscalingAWS 控制在自动缩放时缩小哪个实例
【发布时间】:2016-12-03 08:38:47
【问题描述】:

我想要一个缩减策略,当 CPU 低于 30% 时节点会缩减。

如何控制选择用于缩减的单个实例是 CPU 最低或至少 CPU 低于 30% 的实例?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 autoscaling


    【解决方案1】:

    默认情况下,Auto Scaling 首先确定哪个可用区拥有最多的实例(或者,如果它们相等,它会选择一个随机 AZ)。然后,它使用 Termination Policy 来确定要control which instance Auto Scaling terminates during scale-in 的实例。

    但是,Auto Scaling 不会根据具体的“忙碌”程度来选择实例 - 毕竟,几秒钟后,该实例可能更忙或不那么忙。

    幸运的是,Auto Scaling 使用connection draining 允许进行中的请求在实例终止之前完成。因此,理论上,实例暂时繁忙是没有关系的。

    如果您不想中断实例上的长时间运行任务,您可以配置 Auto Scaling Lifecycle Hooks 将实例移动到 Terminating:Wait 状态。实例不会收到任何新流量。然后,您的应用程序可以在长时间运行的任务完成时发出信号(例如,将日志文件复制到 S3,或完成视频渲染),然后 Auto Scaling 将终止实例。

    最后,如果您想要对将终止哪个实例进行更多细粒度控制,您(或您的应用程序)可以通过管理控制台或describe-auto-scaling-instances API 调用专门Detach EC2 Instances From Your Auto Scaling Group

    【讨论】:

      猜你喜欢
      • 2019-10-09
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 2016-07-20
      • 2021-04-20
      • 2015-03-18
      • 2019-03-20
      相关资源
      最近更新 更多