我正在寻找一种临时禁用现有AWS自动缩放组的方法,而不会删除/重新创建组或其触发器。 “禁用”含义:在不擦除整个相关配置的情况下,在短时间内阻止任何实例创建或删除。
我们当前的发布流程创建并配置新的EC2实例,并在准备好后将其注入ELB。它还会删除旧实例并停止它们。在很短的时间内,ELB包含通常数量的EC2实例的两倍。
此数量可能会超过ELB中的MAX实例数,持续时间非常短。在此过程中,我们希望阻止自动缩放组终止随机的超数例实例。
我在亚马逊控制台中找不到任何“禁用”选项。 它可能与自动缩放组理念不匹配。我错过了什么吗? 是否有通过amazon命令行工具或boto框架的工具?
答案 0 :(得分:8)
在自动缩放术语中,您要问的是suspending processes。简而言之,可以根据需要禁用每个自动缩放活动(启动,终止等)。
看起来您无法通过Web控制台进行设置(尽管它确实显示了可用的进程),因此您必须使用api或命令行工具
来自cli的
aws autoscaling suspend-processes --auto-scaling-group-name MyGroup
以及稍后
aws autoscaling resume-processes --auto-scaling-group-name MyGroup
您可以将特定进程作为额外参数传递暂停,但您可能不需要这样做。
答案 1 :(得分:2)
您可以使MAX instance = 3和MIN instance = 3,即为min和max指定相同的实例计数。
这样,无论您的规则是什么,实例计数都不应有任何变化。
答案 2 :(得分:2)
不是最好的办法,但如果您目前没有CLI访问权限,则可以使用。
使用Web控制台从aws扩展组中删除所有实例:设置最大值。实例,分钟。实例和期望的实例为0;
答案 3 :(得分:0)
您还可以删除终止政策中的默认选项,然后停止实例,以使其在停止实例时不会弹出新提示,您可以对其进行必要的更改
答案 4 :(得分:0)
将所需的最小和最大容量设置为0。保存。查看活动历史记录,您将看到实例终止。