开发者社区> 问答> 正文

如何创建生命周期挂钩?

弹性伸缩如何创建生命周期挂钩?

展开
收起
小天使爱美 2020-03-21 23:39:14 842 0
1 条回答
写回答
取消 提交回答
  • 您可以使用生命周期挂钩挂起自动创建或移除的ECS实例,并在挂起期间对ECS实例进行自定义操作。

    背景信息 您可以使用伸缩配置或实例启动模板定义创建ECS实例时的通用模板,但是,面对复杂的业务情况,您可能希望在启用ECS实例前进行更多自定义操作,这时就需要使用生命周期挂钩。

    如果您为伸缩组创建了生命周期挂钩,在伸缩组进行伸缩活动时,正在加入或移出伸缩组的ECS实例将被挂钩挂起并置于等待状态。一个伸缩组内可以创建的生命周期挂钩数量有限,请参见使用限制。 说明 生命周期挂钩仅在自动创建或移出ECS实例时生效,手动添加或移出ECS实例时不受其影响。 在ECS实例保持等待状态的时间内,当前伸缩组将具有以下特性: 为您保留指定时长的操作时间(即挂钩的超时时间),您可以在挂起期间执行自定义操作,例如,初始化ECS实例配置或者获取ECS实例数据。 伸缩组不再运行其它的伸缩活动。 您可以删除生命周期挂钩来恢复执行伸缩活动。 生命周期挂钩可以配置通知方式,支持MNS主题、MNS队列和OOS模板。如果需要使用通知功能,请提前创建MNS主题、MNS队列或者OOS自定义模板。 说明 如果您使用OOS公共模板,无需提前创建,详细信息请参见OOS公共模板。 示例:

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

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

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

    操作步骤 登录弹性伸缩控制台。 在左侧导航栏中,单击伸缩组管理。 在顶部状态栏处,选择地域。 找到待操作的伸缩组,选择一种方式打开伸缩组详情页面。 在伸缩组名称/ID列中,单击伸缩组名称。 在操作列中,单击管理。 在左侧导航栏中,单击生命周期挂钩。 单击创建生命周期挂钩。 配置生命周期挂钩。 配置名称。 挂钩名字一旦确定,不能修改。长度为2-64个字符,以大小写字母、数字或中文开头,可包含英文句号(.)、下划线(_)或短横线(-)。 配置适用的伸缩活动类型。 发生指定类型的伸缩活动时,生命周期挂钩会被触发并挂起ECS实例。可以选择: 弹性收缩活动 弹性扩张活动 配置超时时间。 ECS实例保持挂起状态的时间。最小为30秒,最大为21600秒(6小时),必须为整数。 配置执行策略。 生命周期挂钩超时后的动作,可以选择: 继续:继续执行弹性扩张活动或者弹性收缩活动。 拒绝:针对弹性扩张活动,会直接释放创建出来的ECS实例;针对弹性收缩活动,直接移出ECS实例。 (可选)配置通知方式。 生命周期挂钩被触发时,通过指定的方式发出通知或者自动执行更多操作。可以选择: MNS主题:您需要继续选择MNS主题。 MNS队列:您需要继续选择MNS队列。 OOS模板:您需要继续选择OOS模板。 MNS主题和MNS队列支持填写通知标识。弹性伸缩每次推送消息到通知对象时,会同时发送您预先指定的通知标识,便于管理和标记不同类别的通知信息。

    单击创建生命周期挂钩。

    2020-03-21 23:40:42
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
对象的生命期管理 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载