本文主要介绍生命周期挂钩的定义和创建。

执行伸缩规则 中,您已经成功实现弹性扩张或收缩 ECS 资源。但是,这些 ECS 资源只进行了简单的初始配置,面对复杂的业务情况,您可能希望在启用这些 ECS 资源前进行自定义操作,这时就需要使用生命周期挂钩。

什么是生命周期挂钩

如果您为伸缩组创建了生命周期挂钩,在伸缩组进行伸缩活动时,正在加入或正在移出伸缩组的实例将被挂钩挂起并置于等待状态。生命周期挂钩仅在自动创建或移出 ECS 实例时生效,手动添加或移出 ECS 实例时不受其影响。

说明 一个伸缩组内可以创建的生命周期挂钩数量有限,请参阅 使用限制

示例

您拥有一个伸缩组 sg-yk201808201449,伸缩最小实例数为 0,伸缩组内有 1 个适用于弹性扩张活动的生命周期挂钩,目前伸缩组内没有 ECS 实例。

将伸缩最小实例数修改为 1,由于 ECS 实例数没有达到下限,弹性扩张活动被触发,伸缩组自动创建一台 ECS 实例。但是,由于存在生命周期挂钩,该 ECS 实例不会马上进入 服务中 状态,而是进入 加入挂起中 状态。

在超时时间结束前,您可以登录该 ECS 实例,进行预装软件或其他自定义操作。

功能特性

在实例保持等待状态的时间内,当前伸缩组将具有以下特性:

  • 伸缩组不再运行其它的伸缩活动。
  • 为您保留指定时长的操作时间(即挂钩的超时时间),您可以在挂起期间执行自定义操作,例如,初始化 ECS 实例配置或者获取 ECS 实例数据。
  • 您可以删除生命周期挂钩来恢复执行伸缩活动。
  • 您可以调用相关 API 来 结束生命周期活动 或者 删除生命周期挂钩

操作步骤

请参照以下步骤创建一个生命周期挂钩:

  1. 登录 弹性伸缩控制台
  2. 伸缩组管理 页面中,单击指定伸缩组 操作 列下的 管理
  3. 前往 生命周期挂钩 页面,单击 创建生命周期挂钩
  4. 创建生命周期挂钩 对话框中,依次指定名称、适用的伸缩活动类型、超时时间、执行策略、通知方式、MNS 主题和通知标识,然后单击 创建生命周期挂钩

生命周期挂钩属性

以下表格描述了具体的生命周期挂钩属性含义和示例。

名称 说明 示例
名称 生命周期挂钩名称(2-40个字符),以大小写字母、数字或中文开头,可包含英文句号(.)、下划线(_)或短横线(-)。挂钩名字一旦确定,不能修改。 hz_yk0626
适用的伸缩活动类型 适用的伸缩活动类型。 弹性收缩活动
超时时间 默认情况下,实例保持等待状态的时间。最小为 30 秒,最大为 21600 秒(6 小时),必须为整数。 600
执行策略 执行策略包括 继续拒绝
  • 继续:继续执行弹性扩张活动或者弹性收缩活动。
  • 拒绝:针对弹性扩张活动,会直接释放创建出来的 ECS 实例;针对弹性收缩活动,直接移出 ECS 实例。
继续
通知方式 通知方式包括 MNS 主题MNS 队列。选择通知方式后,您还需要选择具体的 MNS 主题或者 MNS 队列。

如果尚未创建 MNS 主题或者 MNS 队列,请 创建主题 或者 创建队列

MNS 主题
通知标识 弹性伸缩每次推送消息到通知对象时,会同时发送您预先指定的通知标识,便于管理和标记不同类别的通知信息。 General information