文档

配置生命周期挂钩

生命周期挂钩可以暂停由弹性伸缩自动触发的伸缩活动,使ECS实例或ECI实例处于挂起中的状态(即等待的状态),为您保留一段自定义操作的时间以满足特定的部署需求和业务场景,例如预装软件等。直至生命周期挂钩超时结束后,弹性伸缩的伸缩活动才能继续进行。本文为您介绍创建、修改、删除、启动或暂停生命周期挂钩的方法。

前提条件

创建生命周期挂钩

生命周期挂钩是一个管理伸缩组内ECS实例或ECI实例生命周期的工具。更多信息,请参见生命周期挂钩概述。每个伸缩组内最多可以创建10个生命周期挂钩,本文以创建1个生命周期挂钩为例。

  1. 登录弹性伸缩控制台
  2. 在左侧导航栏中,单击伸缩组管理
  3. 在顶部菜单栏处,选择地域。
  4. 找到待操作的伸缩组,选择任一种方式打开伸缩组详情页面。
    • 伸缩组名称/ID列,单击伸缩组ID。
    • 操作列,单击查看详情
  5. 在页面上方,单击生命周期挂钩页签。
  6. 在页面左上角,单击创建生命周期挂钩

  7. 创建生命周期挂钩页面,完成生命周期挂钩相关配置。

    生命周期挂钩相关参数说明如下表所示:

    参数

    描述

    名称

    生命周期挂钩名称一旦确定就无法修改。长度为2~64个字符,以大小写字母、数字或中文开头,可包含半角句号(.)、下划线(_)和短划线(-)。

    适用的伸缩活动类型

    发生指定类型的伸缩活动时,生命周期挂钩会被触发并挂起ECS实例或ECI实例。支持的选项如下:

    • 弹性收缩活动

    • 弹性扩张活动

    超时时间

    最小为30秒,最大为21600秒(6小时),必须为整数。默认值:1800秒。

    说明

    请根据您业务生命周期挂钩的处理时间,设置合理的超时时间。如果处理时间超过超时时间,则系统会执行默认执行策略

    默认执行策略

    单个生命周期挂钩场景

    ECS实例或者ECI实例挂起状态结束后的下一步执行动作。支持的选项如下:

    • 继续:扩容时,生命周期挂钩会继续向伸缩组加入新扩容的ECS实例或ECI实例;缩容时,生命周期挂钩会继续移出伸缩组中的ECS实例或ECI实例并将其释放掉。

    • 拒绝:扩容时,生命周期挂钩会直接释放新扩容出的ECS实例或ECI实例,该实例不会加入伸缩组;缩容时,生命周期挂钩会继续移出伸缩组中的ECS实例或ECI实例并将其释放掉。

    • 回滚:扩容时,生命周期挂钩会直接释放新扩容出来的ECS实例或ECI实例,该实例不会加入伸缩组;缩容时,生命周期挂钩会将移出的ECS实例或ECI实例重新加入该伸缩组。

    多个生命周期挂钩场景

    伸缩组中多个生命周期挂钩同时触发的场景下,根据生命周期挂钩设置的适用的伸缩活动类型不同,伸缩活动最终的执行结果也有所不同。

    • 多个拒绝策略的弹性收缩活动类型的生命周期挂钩:缩容时,如果某个采用拒绝策略的生命周期挂钩触发的等待状态结束,则其他挂起的生命周期挂钩也会被提前结束,此时ECS实例或ECI实例会从伸缩组中移出并释放。

      例如,采用拒绝策略的生命周期挂钩A的超时时间为600秒,生命周期挂钩B的超时时间为1200秒。缩容时,如果生命周期挂钩A触发的等待状态结束(即600秒后),则挂起的生命周期挂钩B也会在600秒后提前结束。

    • 多个继续策略弹性收缩活动类型的生命周期挂钩:缩容时,如果某个采用继续策略生命周期挂钩触发的等待状态结束,则其他挂起的生命周期挂钩会继续执行,直到最后一个生命周期挂钩(设置的超时时间最长)触发的等待状态结束,伸缩活动才会恢复正常(即ECS实例或ECI实例会从伸缩组中移出并释放掉)。

    • 多个弹性扩张活动类型的生命周期挂钩:扩容时,无论生命周期挂钩采用是继续策略还是拒绝策略,伸缩活动最终的执行方向都是以最后一个生命周期挂钩(设置超时时间最长)触发的等待状态结束为准。

    (可选)通知方式为OOS模板场景

    仅当生命周期挂钩的通知方式配置为OOS模板时,在生命周期挂钩挂起状态超时结束之前OOS模板执行结束,这时挂起状态结束后的下一步执行动作取决于OOS模板的执行结果:

    • 成功:针对弹性扩张活动,继续向伸缩组加入该ECS实例或ECI实例;针对弹性收缩活动,继续停止该ECS实例或ECI实例在伸缩组中提供计算能力。

    • 失败:针对弹性扩张活动,直接释放ECS实例或ECI实例;针对弹性收缩活动,继续停止该ECS实例或ECI实例在伸缩组中提供计算能力。

    停止ECS实例或ECI实例在伸缩组中提供计算能力,具体分以下几种情况:

    • 如果实例是自动创建或者手动创建并托管给伸缩组的ECS实例或ECI实例,且伸缩组的实例回收模式配置为释放模式,则移除ECS实例或者ECI实例。

    • 如果实例是自动创建或者手动创建并托管给伸缩组的ECS实例或ECI实例,且伸缩组的实例回收模式配置为停机回收模式,则在伸缩组内停用ECS实例或ECI实例,保留ECS实例或ECI实例的部分资源。具体操作,请参见配置伸缩组

    • 如果实例是手动创建并未托管给伸缩组的ECS实例或ECI实例,则仅从伸缩组中移出ECS实例或ECI实例,ECS实例或ECI实例仍可正常运行。

    挂钩期间执行的动作

    生命周期挂钩被触发时,可以选择通过指定的方式发出通知或者自动执行更多操作。支持的选项如下:

    • 不通知:默认选项。

    • MNS主题:您需要选择MNS主题。如果您填写了通知标识,弹性伸缩每次推送消息到通知对象时,会同时发送您预先指定的通知标识,便于管理和标记不同类别的通知信息。

    • MNS队列:您需要选择MNS队列。如果您填写了通知标识,弹性伸缩每次推送消息到通知对象时,会同时发送您预先指定的通知标识,便于管理和标记不同类别的通知信息。

    • OOS模板:选择执行的模板类型,并为模板设置参数。

      • 模板类型包括公共模板我的模板。弹性伸缩会使用您选择的模板,对ECS实例进行自定义操作。

        说明
        • 我的模板需要您已创建模板。具体操作,请参见创建模板

        • 公共模板的更多信息,请参见公共模板

      • 在设置参数时,请按照实际使用情况设置参数。如果您需要设置OOS扮演的RAM角色,请注意以下信息:

    • 事件总线:选择事件总线后,当伸缩组发生扩缩容活动时,系统会产生不同类型的生命周期通知,您可以根据对应通知灵活识别和处理相应事件。

  8. 单击确认

    创建完成后,您可以在伸缩组的生命周期挂钩页签下查看已创建的生命周期挂钩。

    如果弹性伸缩自动触发了适用于生命周期挂钩的伸缩活动时,对应的ECS实例或ECI实例的状态会变为挂起中,以ECS实例为例展示被挂起中实例的运行状态,如下图所示:加入挂起中

修改或删除生命周期挂钩

成功创建生命周期挂钩后,您可以根据不同的业务需求,对该生命周期挂钩进行修改或删除操作。

  1. 登录弹性伸缩控制台
  2. 在左侧导航栏中,单击伸缩组管理
  3. 在顶部菜单栏处,选择地域。
  4. 伸缩组管理页面,找到待操作的伸缩组,单击对应操作列的查看详情

  5. 在伸缩组详情页面上方,单击生命周期挂钩页签。

  6. 修改或删除生命周期挂钩。

    修改生命周期挂钩

    如果生命周期挂钩的属性不再满足当前业务需求,您可以修改一项或者多项属性,而无需重新创建生命周期挂钩。

    1. 找到待操作的生命周期挂钩,在操作列下,单击修改

    2. 修改生命周期挂钩的配置,然后单击确认

      不支持修改生命周期挂钩的名称,其他生命周期挂钩配置项的参数说明,请参见步骤7

    删除生命周期挂钩

    如果您不再需要一个生命周期挂钩,可以将其删除,空出挂钩配额。例如伸缩活动被挂起时,您可以按照本步骤删除生命周期挂钩。

    重要

    如果生命周期挂钩已经挂起一个ECS实例或ECI实例时,在删除该生命周期挂钩后,该ECS实例或ECI实例的等待状态会提前结束。

    1. 找到待操作的单个或多个生命周期挂钩,删除生命周期挂钩。

      • 单项删除:在单个生命周期挂钩对应的操作列下,单击删除

      • 批量删除:选中多个待操作的生命周期挂钩,在生命周期挂钩列表底部,单击删除

    2. 在弹出的对话框中,单击确定

暂停或启用生命周期挂钩

创建生命周期挂钩后默认为生效状态。根据实际业务场景需要,您可以暂停或者重新启用伸缩组的生命周期挂钩功能。

  1. 登录弹性伸缩控制台
  2. 在左侧导航栏中,单击伸缩组管理
  3. 在顶部菜单栏处,选择地域。
  4. 伸缩组管理页面,找到待操作的伸缩组,单击对应操作列的查看详情

  5. 在伸缩组详情页面上方,单击生命周期挂钩页签。

  6. 暂停或启用生命周期挂钩。

    暂停生命周期挂钩

    如果您的业务暂时不需要生命周期挂钩功能,您可以暂停正在使用的生命周期挂钩。

    1. 找到待操作的生命周期挂钩,在对应操作列下,单击暂停

    2. 在弹出的对话框中,单击确定

    启用生命周期挂钩

    如果您需要使用伸缩组的生命周期挂钩功能,您可以重新启用已暂停的生命周期挂钩。

    1. 找到待操作的生命周期挂钩,在对应操作列下,单击启用

    2. 在弹出的对话框中,单击确定

相关文档

  • 本页导读 (1)