前置知识 - Scaling Cooldowns

Scaling Cooldowns仅适用于simple scaling——在ASG发生扩容或缩容行为后,进行下一次扩缩容前必须经过这个冷却时间。

Scaling Cooldowns是为了等待前一个活动结束,再进行下一次的扩缩容活动。例如simple scaling检查到CloudWatch Alarm内存达到告警值,触发第一次扩容,此时如果扩容没完成,simple scaling第二次又检测到告警,它可能又触发额外的扩容操作。这好比领导看到小明还没完成任务,催他赶紧完成,如果没有给领导设置冷却时间(例如半天),10分钟后/20分钟后领导可能又来催小明,搞的小明疲于应对。

最佳实践是不使用simple scalingscaling cooldowns。大部分场景 target tracking scalingstep scaling可以满足


在创建ASG时并不能设置这个cooldown值,它的默认值是300秒。在创建完成ASG后,可以在页面中进行更改:

image-20221003175447143

CoolDown时间设置的考量

在EC2投入使用之前,这些EC2使用配置脚本安装和配置软件。因此,EC2从启动到完全投入使用大约需要两到三分钟的时间。实际时间取决于诸多因素,如实例大小和是否有启动脚本要完成等。

  • CoolDown如果设置的过短,EC2还没有初始化完成,此时容易触发二次扩容
  • CoolDown如果设置的过长且线上来了新的流量再次触发报警,此时还在冷却时间,ASG扩容不了会影响业务。