全部产品
云市场

通过OOS自动启动意外停止的ECS实例

更新时间:2020-01-06 16:27:45

极端情况下ECS实例可能会意外停止,如果通过OOS的事件触发器对ECS实例进行监控,一旦实例停止事件发生,则自动地对实例执行启动逻辑,进而实现ECS实例的快恢复,公共模版指定标签下的实例关机时自动重启

步骤拆分

  1. 对阿里云账号下的ECS实例分组。
  2. 监控是否有ECS实例停止事件的发生。
  3. 一旦有ECS实例停止,检查其是否为需要启动分组的ECS实例。
  4. 校验停止的实例是否属于自动启动的分组。若不属于,则忽略此ECS实例的停止事件;若属于,则执行后续逻辑。
  5. 启动停止的实例。
  6. 等待停止的实例启动成功。

公共模版任务

  1. 监控变为停止状态ECS实例。
  2. 检查ECS实例是否有指定的分组标签。
  3. 若不带标签则忽略实例的停止。
  4. 若带标签则启动该实例。

模版参数

  • tags :要自动启动实例的标签
  • OOSAssumeRole: OOS扮演的RAM角色。

操作指南

  1. 首先登录到运维编排控制台
  2. 单击 公共模板,选择指定标签下的实例关机时自动重启
  3. 单击 创建执行
  4. 单击 下一步,设置参数oos
  5. 单击 下一步,确定 ,单击 创建执行 。在执行管理中可查看刚刚创建的执行,若创建执行成功,且执行状态处于等待中,则表示ECS实例已开始被监控,一旦有ECS实例被停止,则会触发eventTrigger任务后面的任务执行。oos

  6. 那么我们现在就演示下ECS实例自启动,下图是该Tag下运行中的3台实例。image.png

  7. 我们现在通过手动停止这3台实例,模拟实例意外停止。image.png
  8. 当实例停止后,执行状态由等待中转换为运行中,开始执行对停止的ECS实例的启动。oos

  9. 片刻后,刷新ECS实例的状态,可发现该Tag下被停止的ECS实例已经自启动完成,又变回了运行中状态。image.png