![如何避免分步扩容策略出现重复缩容?](https://linux22.com/image/681406/%E5%A6%82%E4%BD%95%E9%81%BF%E5%85%8D%E5%88%86%E6%AD%A5%E6%89%A9%E5%AE%B9%E7%AD%96%E7%95%A5%E5%87%BA%E7%8E%B0%E9%87%8D%E5%A4%8D%E7%BC%A9%E5%AE%B9%EF%BC%9F.png)
使用 EC2 自动扩展时,如果使用分步扩展策略(而不是简单扩展策略),该策略会根据基于 AWS/EC2 指标(例如 CPUUtilization <= 30%)的警报进行缩减,并且禁用详细的 CloudWatch 监控,则当我的自动扩展组缩减时,它会在短时间内连续缩减两个实例,而无需等待指标更新。如何防止自动扩展组缩减速度过快而导致指标来不及更新?
编辑:这是昨晚的扩展历史记录。在 UTC 时间 5:15、5:17、5:19、5:21,由于 CPU 利用率低,自动扩展缩减,尽管 CPU 利用率仅在 5:10、5:15、5:20 有数据点,并且扩展事件应该在 5:15 数据点之后停止。似乎没有办法调整分步扩展策略缩减的冷却时间(分步扩展策略忽略默认冷却时间(=600 秒),并且只有扩展策略具有估计的实例预热时间)。
答案1
我遇到了完全相同的问题。我最终将缩减策略更改为 SimpleScaling,每次减少一个实例并设置 10 分钟的冷却时间。我还将缩减警报条件更改为当有 10 个 60 秒周期低于我的 35% CPU 阈值时触发。(我已启用详细的云监控指标)这个想法是,一旦发生缩减,警报就会比周期数较少和评估时间较长时更快地关闭。
我还有 StepScaling 可以提升,因此我可以快速提升,但是使用 SimpleScaling 和冷却时间来缩小规模,我的缩小速度会慢得多。
答案2
您需要调整自动缩放冷却设置。默认情况下,时间为五分钟,但您可以在控制台中或通过 API/CLI 自定义它PutScalingPolicy。