我正在使用 Amazon CloudWatch 服务来管理一组 EC2 实例。更准确地说,当警报从 OK 变为 ALARM 状态时,我会执行 AutoScaling 操作。
考虑以下示例:当 SQS 队列长度连续 5 分钟小于 1 时,有一个缩减操作终止一个实例。假设有 5 个实例正在运行,然后警报响起,我们有 4 个正在运行的实例。但!我希望 CloudWatch 在我处于警报状态时继续执行我的操作!我想要 3 个,然后是 2 个,然后只有一个实例,当我没有什么要处理的时候。
我尝试了另一种方法:在自动缩放操作后立即将警报状态重置为 INSUFFICIENT_DATA。这样我可以有效地将我的池缩减为一个实例,但随后整个系统陷入“无限循环”:我将状态更改为 INSUFFICIENT_DATA,然后亚马逊立即再次发出警报,然后我更改状态等等。
所以,我想要:亚马逊在有警报状态时重复我的警报动作,或者有一些警报冷却时间,以防止亚马逊在状态改变后立即升高它。
请帮助我找到解决我的问题的正确方法。