生命周期挂钩概述
更新时间 2026-10-22 16:46:40
最近更新时间: 2026-10-22 16:46:40
生命周期挂钩(Lifecycle Hook)用于在伸缩组扩容或缩容时,将新创建的实例或待移出的实例置于挂起状态,为您的自定义操作预留处理时间。在挂起期间,您可以完成配置下发、服务注册、日志采集初始化、数据备份等动作,挂起结束后弹性伸缩继续执行原始伸缩活动。
本文为您介绍生命周期挂钩的功能原理、使用限制与常用操作。
注意
生命周期挂钩当前为试用功能,如需试用,请联系客服或客户经理。
功能概述
生命周期挂钩作用于伸缩活动的实例加入或移出环节,具体流程如下:
伸缩活动触发扩容或缩容。
弹性伸缩根据伸缩组内已绑定的挂钩判定:若挂钩的"适用伸缩活动类型"与本次伸缩活动类型一致,则实例进入挂起状态。扩容时实例状态为"加入挂起",缩容时实例状态为"移出挂起"。
实例在挂起状态等待,等待时长由挂钩的"超时时间"决定。挂起期间您可以完成自定义业务处理。
出现以下任一情况时挂起结束:
您手动将挂起的伸缩活动设置为"继续"或"弃用"。
达到超时时间,弹性伸缩按挂钩的"默认执行操作"继续或弃用该伸缩活动。
挂起结束后,伸缩活动按结果继续执行:继续则实例正常加入或移出伸缩组;弃用则扩容活动直接释放已创建的实例,缩容活动按原流程处理。
说明
一个伸缩组可绑定多个生命周期挂钩。若在触发多个挂钩的场景下,其中一个"默认执行操作"为"弃用"的挂钩挂起结束,弹性伸缩将不再执行该伸缩活动的其他生命周期挂钩。
使用限制
| 限制项 | 说明 |
|---|---|
| 单伸缩组挂钩数量 | 最多 5 个 |
| 挂钩名称长度 | 2~64 个字符,支持大小写字母、数字和连字符(-) |
| 适用伸缩活动类型 | 支持"弹性伸缩组扩容""弹性伸缩组缩容",可同时选择 |
| 超时时间 | 以秒为单位,创建时默认 600 秒,请根据业务处理耗时设置足够时长 |
| 通知方式 | 当前仅支持"不通知",不向外部系统发送挂起事件通知 |
使用建议
超时时间按最慢的业务处理耗时设置:超时后弹性伸缩会按默认执行操作结束挂起,若业务处理尚未完成,可能得到不符合预期的结果。
扩容挂钩建议配合"弃用"使用:当自定义处理失败时,弃用可以及时释放实例,避免异常实例加入伸缩组承载业务。
缩容挂钩建议配合"继续"使用:缩容阶段主要用于数据备份、流量摘除等收尾动作,处理完成后应继续移出,避免缩容活动长时间挂起。
同一伸缩组内挂钩数量与业务复杂度匹配:单组最多 5 个挂钩,挂钩越多单次伸缩活动的挂起环节越多,建议仅保留必要挂钩,避免伸缩活动整体耗时被拉长。