首页 > 解决方案 > EC2 Auto Scaling 如何防止在开销之前启动新的?

问题描述

我有一个现有的 EC2 实例正在运行(比如原始实例)。

然后我创建了一个自动扩展组并配置了它的启动设置,如下所示:
min:1, max:3, desired:1
(自动扩展组基于从原始实例复制的 AMI)

只要我刚刚创建了 Auto Scaling 组,就会同时启动一个新实例。
但我现有的实例目前处于空闲状态,没有任何开销问题,因此无需在 Auto Scaling 组内启动新实例。

我目前尝试将希望设置为 0,然后启动的那个被终止并让我原来的存在一个运行。

那么,min:1,desired:0,是防止在开销之前启动新的正确方法吗?
或者有什么建议吗?

顺便说一句,我现在没有任何开销过程,所以我很难确认情况。

标签: amazon-ec2autoscaling

解决方案


我认为最好的办法是将您的原始实例手动注册到自动缩放组。

这将用数字简化事情(你可以说 min:1, max:3, desired:1 并且原来的已经算作 1 所以你会得到你期望的结果)并且也会更容易控制目标组和将流量从 ELB 正确路由到所有实例

要将实例附加到现有 Auto Scaling 组:

  • 在https://console.aws.amazon.com/ec2/打开 Amazon EC2 控制台 
  • 在导航窗格中,选择实例。
  • 选择实例。
  • 选择操作、实例设置、附加到 Auto Scaling 组。
  • 在附加到 Auto Scaling 组页面上,选择现有 Auto Scaling 组,选择实例,然后选择附加。

如果您希望原始实例始终处于活动状态 - 不要在缩减时终止 - 您可以为正在运行或停止的实例启用终止保护

  • 选择实例,然后选择操作、实例设置、更改终止保护
  • 选择是,启用。

推荐阅读