生命周期挂钩可以暂停由弹性伸缩自动触发的伸缩活动,使ECS实例处于挂起中的状态(即等待的状态),为您保留一段自定义操作的时间,直至生命周期挂钩超时结束。本文介绍如何创建生命周期挂钩。

前提条件

  • 已创建伸缩组。具体操作,请参见创建伸缩组
  • 可选:如果需要生命周期挂钩被触发时发出MNS通知,您需要提前创建MNS主题或者MNS队列。具体操作,请参见创建主题创建队列

背景信息

一个伸缩组内最多可以创建8个生命周期挂钩。

操作步骤

  1. 登录弹性伸缩控制台
  2. 在左侧导航栏中,单击伸缩组管理
  3. 在顶部菜单栏处,选择地域。
  4. 找到待操作的伸缩组,选择一种方式打开伸缩组详情页面。
    • 伸缩组名称/ID列,单击伸缩组ID。
    • 操作列,单击查看详情
  5. 在页面上方,单击生命周期挂钩页签。
  6. 在页面左上角,单击创建生命周期挂钩
  7. 完成生命周期挂钩相关配置。
    生命周期挂钩相关参数说明如下表所示。
    参数 描述
    名称 挂钩名字一旦确定,不能修改。长度为2~64个字符,以大小写字母、数字或中文开头,可包含英文句号(.)、下划线(_)和短横线(-)。
    适用的伸缩活动类型 发生指定类型的伸缩活动时,生命周期挂钩会被触发并挂起ECS实例。支持的选项如下:
    • 弹性收缩活动
    • 弹性扩张活动
    超时时间 ECS实例保持挂起状态的时间。最小为30秒,最大为21600秒(6小时),必须为整数。
    执行策略 ECS实例挂起状态结束后的执行动作。支持的选项如下:
    • 继续:针对弹性扩张活动,继续向伸缩组加入该ECS实例;针对弹性收缩活动,继续停止该ECS实例在伸缩组中提供计算能力。
    • 拒绝:针对弹性扩张活动,直接释放该ECS实例;针对弹性收缩活动,继续停止该ECS实例在伸缩组中提供计算能力。
      注意
      • 仅当生命周期挂钩的通知方式配置为OOS模板时,ECS实例挂起状态结束后的执行动作取决于OOS模板的执行结果:
        • 成功:针对弹性扩张活动,继续向伸缩组加入该ECS实例;针对弹性收缩活动,继续停止该ECS实例在伸缩组中提供计算能力。
        • 失败:针对弹性扩张活动,直接释放ECS实例;针对弹性收缩活动,继续停止该ECS实例在伸缩组中提供计算能力。
      • 停止ECS实例在伸缩组中提供计算能力,分以下几种情况:
        • 如果ECS实例是自动创建或者手动创建并托管给伸缩组的ECS实例,且伸缩组的实例回收模式配置为释放模式,则移除ECS实例。
        • 如果ECS实例是自动创建或者手动创建并托管给伸缩组的ECS实例,且伸缩组的实例回收模式配置为停机回收模式,则在伸缩组内停用ECS实例,保留ECS实例的部分资源。更多信息,请参见创建伸缩组
        • 如果ECS实例是手动创建并未托管给伸缩组的ECS实例,则仅从伸缩组中移出ECS实例,ECS实例仍可正常运行。
    通知方式 生命周期挂钩被触发时,可以选择通过指定的方式发出通知或者自动执行更多操作。支持的选项如下:
    • 不通知:默认选项。
    • MNS主题:您需要选择MNS主题。如果您填写了通知标识,弹性伸缩每次推送消息到通知对象时,会同时发送您预先指定的通知标识,便于管理和标记不同类别的通知信息。
    • MNS队列:您需要选择MNS队列。如果您填写了通知标识,弹性伸缩每次推送消息到通知对象时,会同时发送您预先指定的通知标识,便于管理和标记不同类别的通知信息。
    • OOS模板:选择执行的模板类型,并为模板设置参数。
      • 模板类型包括公共模板我的模板。弹性伸缩会使用您选择的模板,对ECS实例进行自定义操作。
        说明
        • 我的模板需要您已创建模板。具体操作,请参见创建模板
        • 公共模板的更多信息,请参见公共模版
      • 在设置参数时,请按照实际使用情况设置参数。如果您需要设置OOS扮演的RAM角色,请注意以下信息:
        • RAM角色必须已受信OOS服务,即RAM角色的可信实体是阿里云服务,受信服务为运维编排服务。具体操作,请参见为OOS服务设置RAM权限中“创建OOS扮演的角色”。
        • RAM角色必须拥有操作资源(ECS、弹性伸缩等)的权限。权限的策略可通过单击查看授权策略获取。为RAM角色添加授权策略的具体操作,请参见为OOS服务设置RAM权限中“为OOS角色添加授权策略”。
          说明 更多配置模板参数的案例,请参见生命周期挂钩和OOS模板最佳实践概述
  8. 单击确认

执行结果

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

当弹性伸缩自动触发了适用于生命周期挂钩的伸缩活动时,对应ECS实例的状态会变为挂起中。您可以在伸缩组的实例列表页签查看ECS实例的状态,如下图所示。在超时时间结束前,您可以登录该ECS实例,进行预装软件或其他自定义操作。

弹性扩张活动