本教程介绍如何使用弹性伸缩生命周期挂钩挂起ECS实例,并结合运维编排服务OOS的模板,实现为ECS实例自动释放弹性公网IP(EIP)。

前提条件

  • 使用本教程进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册
  • 已创建伸缩组,且伸缩组处于启用状态。
  • 伸缩组内ECS实例绑定了EIP。
  • 已为OOS服务创建RAM角色。该RAM角色的可信实体必须为阿里云服务,受信服务为运维编排服务,且拥有执行OOS模板的权限。具体操作,请参见为OOS服务设置RAM权限
    说明 本教程中使用的示例RAM角色为OOSServiceRole,您也可以使用其他自定义的RAM角色。

背景信息

如果伸缩组内ECS实例绑定了EIP,在删除ECS实例时默认不会释放EIP,您可以通过生命周期挂钩和OOS模板自动释放EIP。

操作步骤

本教程以OOS公共模板ACS-ESS-LifeCycleReleaseEipAddressFromInstance为例,实现在缩容时为ECS实例自动释放EIP。步骤如下:

步骤一:对RAM角色授予OOS服务权限

您需要拥有OOS的执行权限才能执行OOS的模板。执行ACS-ESS-LifeCycleReleaseEipAddressFromInstance中定义的运维操作时涉及ECS、弹性伸缩、EIP的资源。

  1. 登录RAM控制台
  2. 在左侧导航栏,单击身份管理 > 角色
  3. 找到OOSServiceRole,在操作区域,单击添加权限
    为OOS服务扮演的RAM角色OOSServiceRole添加权限即可完成授权。
  4. 指定权限配置,然后单击确定
    本教程中使用的配置如下表所示,未提及的配置保持默认即可。
    配置项 说明
    授权范围 选择整个云账号
    选择权限 添加系统策略AliyunECSFullAccess、AliyunESSFullAccess和AliyunEIPFullAccess。

步骤二:为缩容活动创建生命周期挂钩并触发缩容

  1. 登录弹性伸缩控制台
  2. 在左侧导航栏中,单击伸缩组管理
  3. 在顶部菜单栏处,选择地域。
  4. 找到待操作的伸缩组,选择一种方式打开伸缩组详情页面。
    • 伸缩组名称/ID列,单击伸缩组ID。
    • 操作列,单击查看详情
  5. 为缩容活动创建生命周期挂钩。
    1. 在页面上方,单击生命周期挂钩页签。
    2. 单击创建生命周期挂钩
    3. 指定生命周期挂钩配置,然后单击确认
      本教程中使用的配置如下表所示,未提及的配置保持默认即可。
      配置项 说明
      名称 输入ESSHookForReleaseEip。
      适用的伸缩活动类型 选择弹性收缩活动
      超时时间 输入适当的超时时间,例如300秒。
      说明 超时时间即用于执行自定义操作的时间,若超时时间过短,可能导致自定义操作失败,请评估自定义操作耗时并设置适当的超时时间。
      执行策略 选择继续
      通知方式 模板配置如下:
      • 通知方式:选择OOS模板
      • OOS模板类型:选择公共模板
      • 公共模板:选择ACS-ESS-LifeCycleReleaseEipAddressFromInstance。