本文主要介绍弹性伸缩的冷却时间。

冷却时间指伸缩组成功执行伸缩活动后的一段锁定时间。在冷却时间内,伸缩组会拒绝由报警任务触发的伸缩活动请求。但非报警任务(手动执行任务、定时任务等)触发的伸缩活动可以立即执行,绕过冷却时间。

您可以通过以下两种方式配置冷却时间:

  • 在伸缩组中配置默认冷却时间,默认冷却时间不能为空。相关操作,请参见创建伸缩组
  • 在伸缩规则中配置冷却时间,如果不配置,将使用默认冷却时间。相关操作,请参见创建伸缩规则
说明 如果同时在伸缩组和伸缩规则中配置了冷却时间,弹性伸缩服务将优先使用伸缩规则中的冷却时间。

冷却时间规则

  • 如果在伸缩活动中,多台ECS实例加入或者移出伸缩组,则从最后一台ECS实例成功加入或者移出伸缩组后,弹性伸缩服务开始计算冷却时间。具体示例,请参见示例1。如果在伸缩活动中,没有ECS实例成功加入或者移出伸缩组,则弹性伸缩服务不会开始计算冷却时间。
  • 如果您停用再启用伸缩组,伸缩组启用后的首次伸缩活动可以立即执行,不会受冷却时间影响。当伸缩组启用后首次成功执行伸缩活动,弹性伸缩服务才开始计算冷却时间。具体示例,请参见示例2
    说明 冷却时间仅锁定同一个伸缩组的伸缩活动,不会对其他伸缩组的伸缩活动产生影响。
  • 如果伸缩组成功执行伸缩活动后,非报警任务(如手动执行任务、定时任务、期望实例数或者修改实例数的最大值或者最小值等)触发的伸缩活动可以立即执行,不需要等待冷却时间。具体示例,请参见示例3

示例场景

  • 示例1

    一个伸缩组asg-uf6f3xewn3dvz4bs****,默认冷却时间是10分钟,伸缩组内存在一条伸缩规则add3,冷却时间为15分钟。

    根据add3成功执行一次伸缩活动后,伸缩组扩张了3台ECS实例。从第3台ECS实例加入伸缩组开始,伸缩组在15分钟内不会接受由报警任务触发的伸缩活动请求。

  • 示例2

    一个伸缩组asg-m5efkz67re9x7a57****,默认冷却时间是10分钟,伸缩组内存在一条伸缩规则remove1,没有设置冷却时间。

    在18:00根据remove1成功执行一次伸缩活动后,伸缩组收缩了1台ECS实例。正常情况下,在18:10前伸缩组不会接受由报警任务触发的伸缩活动请求。此时停用伸缩组,然后在18:05再次启用伸缩组,如果在18:05至18:10间报警任务触发了伸缩活动请求,伸缩组仍会接受并执行请求。成功执行本次伸缩活动后,伸缩组在10分钟内不接受由报警任务触发的伸缩活动请求。

  • 示例3

    一个伸缩组asg-bp15x5gq2ib3bhx3****,默认冷却时间是10分钟,伸缩组内存在一条伸缩规则add1,设置的冷却时间也是10分钟。

    在18:00根据add1成功执行一次伸缩活动后,伸缩组扩张了1台ECS实例,在18:10前不会接受由报警任务触发的伸缩活动请求。如果在18:05手动执行add1伸缩规则,伸缩组可以绕过冷却时间,立即接受并执行请求,扩张1台ECS实例。