自动伸缩策略优先级是多少?

自动伸缩策略优先级是多少?

AWS 论坛没有回应,所以我想我可以在这里尝试一下。

如果我有两个自动扩展优先级:增加 25% 增加 50%

我为它们设置了两个单独的 CPU 利用率警报:50% CPU 利用率 = 增加 25% 75% CPU 利用率 = 增加 50%

如果 CPU 跳升至 80%,则会触发两个警报,但它会触发 50% 的增幅策略还是 25% 的增幅策略?是否有办法确保它会触发 50% 的增幅?

据我所知,似乎没有任何方法可以以这种方式对警报或策略进行优先排序。

答案1

如果您在配置中没有将 DefaultCooldown 设置得足够长以防止快速事件,则两种策略都会触发。

您可以使用 API 调用 DescribeAutoScalingGroups 来检查该值的设置。

例如:如果此值设置为 300(以秒为单位),则表示该组设置为每 5 分钟仅扩展一次。如果触发了 50% CPU 警报,然后在触发 75% CPU 警报后不久,如果警报仍然存在,系统将等待 5 分钟,然后才允许第二个警报通过。

如果使用率立即从 10% 跃升至 80%,则应触发 75% CPU 警报。

答案2

来自自动扩展文档(最后一段):

... Auto Scaling 选择对 Auto Scaling 组影响最大的策略。例如,假设 CPU 利用率策略指示 Auto Scaling 启动 1 个实例,而 SQS 队列策略提示 Auto Scaling 启动 2 个实例。如果同时满足两个策略的扩展标准,Auto Scaling 将优先考虑 SQS 队列策略,因为它对 Auto Scaling 组的影响最大。这会导致 Auto Scaling 向组中启动两个实例。即使策略使用不同的扩展标准,此优先级也适用。例如,如果一个策略指示 Auto Scaling 启动 3 个实例,另一个策略指示 Auto Scaling 将容量增加 25%,则 Auto Scaling 优先考虑当时对组影响最大的策略。

相关内容