运维编排服务系列-----自动启动意外停止的ECS实例

简介: 有时ECS实例可能因为某些意外原因被停止,可通过OOS的事件触发器对ECS实例进行监控,一旦实例停止,则对实例自动地执行恢复逻辑,比如自动启动,进而实现ECS实例的快恢复。

有时ECS实例可能因为某些意外原因被停止,可通过OOS的事件触发器对ECS实例进行监控,一旦实例停止,则对实例自动地执行恢复逻辑,比如自动启动,进而实现ECS实例的快恢复。

步骤拆分

  1. 对账号下的ECS实例进行监控。
  2. 一旦有ECS实例停止,则检查其是否为要自动启动的Tag下的ECS实例。
  3. 若不是该Tag下的实例,则忽略此ECS实例的停止,若是该Tag下的ECS实例,则执行后面逻辑。
  4. 对实例做一些恢复逻辑,此处对实例进行启动。
  5. 等待恢复逻辑执行成功,此处等待停止的实例启动成功。

OOS模版任务

  1. 通过OOS事件触发器监控所有的ECS实例是否停止。
  2. 若有实例停止,检查该实例是否为要被自启动Tag下的ECS实例。
  3. 若不是则忽略,实例的停止,若是则对该实例进行启动。
  4. 等待实例状态变为运行中。

模版内容

FormatVersion: OOS-2019-06-01
Description: Start ECS instance when instance is stopped.
Parameters:
  tagKey:
    Description: The tag key for query ECS instances.
    Type: String
    MinLength: 1
    MaxLength: 30
    Default: oostt
  tagValue:
    Description: The tag value for query ECS instances.
    Type: String
    MinLength: 1
    MaxLength: 30
    Default: oostt

Tasks:
- Name: whenInstanceStopped
  Action: 'ACS::EventTrigger'
  Properties:
    Product: ECS
    Name:
      - 'Instance:StateChange'
    Content:
      state:
        - Stopped
  Outputs:
    instanceId:
      ValueSelector: .content.resourceId
      Type: String

- Name: describeInstancesByTag
  Action: ACS::ExecuteApi
  Description: Views running ECS instances by specifying tag.
  Properties:
    Service: ECS
    API: DescribeInstances
    Parameters:
      Tags:
      - Key: '{{ tagKey }}'
        Value: '{{ tagValue }}'
  Outputs:
    instanceIds:
      Type: List
      ValueSelector: Instances.Instance[].InstanceId
- Name: checkInstanceReady
  Action: ACS::CheckFor
  Description: Checks ECS instance is in specified tag's instances.
  Properties:
    Service: ECS
    API: DescribeInstances
    Parameters:
      InstanceIds:
        - '{{ whenInstanceStopped.instanceId }}'
    DesiredValues: '{{describeInstancesByTag.instanceIds}}'
    PropertySelector: Instances.Instance[].InstanceId
- Name: startInstance
  Action: 'ACS::ExecuteAPI'
  Properties:
    Service: ECS
    API: StartInstance
    Parameters:
      InstanceId: '{{ whenInstanceStopped.instanceId }}'
  Description: start instance.
- Name: untilInstanceReady
  Action: 'ACS::WaitFor'
  Description: Waits for the ECS instance Running.
  Properties:
    Service: ECS
    API: DescribeInstances
    Parameters:
      InstanceIds:
        - '{{ whenInstanceStopped.instanceId }}'
    DesiredValues:
      - Running
    PropertySelector: 'Instances.Instance[].Status'
Outputs:
  InstanceId:
    Value: '{{ whenInstanceStopped.instanceId  }}'
    Type: String

模版参数

  • tagKey:要自启动的ECS实例所在Tag的key值。
  • tagValue:  要自启动的ECS实例所在Tag的Value值。

操作指南

  1. 首先登录到运维编排控制台 。
  2. 单击 自定义模版,单击 创建模版 。
  3. 单击 YAML 。
    将编写好的YAML格式模版内容粘贴到编辑框内,或者您也可直接在编辑框中编写该模版。
    4840_b236_b0f413e625c2
  4. 单击 校验模版。 

    • 若模板内容已通过校验,继续下一步。
    • 若模板内容校验失败,请根据提示内容调整模版。
  5. 填写 模版名称。
    本文此处填写AutoStartEcsWhenStopped。
    5f_4e1e_8be8_aea8a2dd58d6
  6. 单击 创建模版 。
    自定义模版列表中可通过模版名称快速找到成功创建的模版。
  7. 单击 创建执行 。
  8. 风险确认模式 选择 客户了解风险,无需确认 。
    _1cd5_4199_b2c8_61e3fd5bcdf4
  9. 单击 下一步,设置参数 。

    • tagKey:要自启动的ECS实例所在Tag的key值。
    • tagValue:  要自启动的ECS实例所在Tag的Value值。
      _3174_4d57_a280_1b8b52077ce0
  10. 单击 下一步,确认创建 ,单击 创建执行 。
    执行管理中可查看刚刚创建的执行,若创建执行成功,且执行状态处于等待中,则表示ECS实例已开始被监控,一旦有ECS实例被停止,则会触发whenInstanceStopped任务后面的任务逻辑,即该Tag下被停止的实例自动启动。
    _48ee_bdb7_4329441ce5bc
  11. 那么我们现在就演示下ECS实例自启动,下图是该Tag下运行中的3台实例。
    _4c51_b4a2_9089e0fbee31
  12. 我们现在通过手动停止这3台实例,模拟实例意外停止。
    _bae6_084fce3052aa
  13. 当实例停止后,执行状态由等待中转换为运行中,开始执行对停止的ECS实例的启动。
    _4b1a_b58a_5a361dd1ec5d
  14. 片刻后,刷新ECS实例的状态,可发现该Tag下被停止的ECS实例已经自启动完成,又变回了运行中状态。
    _9fd3_4c51_b4a2_9089e0fbee31
相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
16天前
|
存储 人工智能 容灾
阿里云服务器2核8G、4核16G、8核32G配置热门实例性能对比与场景化选型指南
2核8G/4核16G/8核32G配置的阿里云服务器在阿里云活动中目前有经济型e、通用算力型u1、通用型g7、通用型g8y和通用型g9i五种实例可选,目前2核8G配置选择u1实例活动价格652.32元1年起,4核16G月付选择经济型e实例最低89元1个月,8核32G配置160元1个月起,本文将为大家解析经济型e、通用算力型u1、通用型g7及通用型g8y实例,帮助用户根据自身需求合理选择最适合的实例规格和配置。
|
9天前
|
存储 弹性计算 网络协议
阿里云服务器ECS通用算力型u2a实例,CPU采用AMD EPYC处理器,睿频最高3.7 GHz
阿里云ECS通用算力型u2a实例搭载AMD EPYC处理器,睿频高达3.7GHz,基于CIPU架构,网络与存储突发带宽最高25Gbps,I/O性能强、延迟低。支持多种云盘及IPv4/IPv6,适用于中小型数据库、APP服务等场景,性价比高,官网价降低9%-22%,是中小企业上云优选。
179 0
|
8天前
|
存储 弹性计算 固态存储
阿里云服务器租用价格参考:最新收费标准与不同实例热门配置活动价格
阿里云服务器租用价格参考:配置最低的1核0.5G云服务器,按量付费价格0.063元/小时,按月租用价格为18元/1月,爆款配置的活动价格目前直降,2核2G配置轻量应用服务器抢购价为38元一年;经济型e实例2核2G3M特惠价99元1年;通用算力型u1实例2核4G5M带宽特惠价199元1年;2核8G配置的活动价格最低为一年652.32元;4核16G配置的活动价格最低为1196.64元;8核16G配置的最低一年租用价格为3815.03元。以下是2025年阿里云服务器最新收费标准与热门配置活动价格的详细内容。
|
22天前
|
存储 人工智能 弹性计算
阿里云gpu云服务器收费价格,热门实例简介和最新按量、1个月、1年收费标准参考
在阿里云所有gpu云服务器实例规格中,计算型gn5、gn6i、gn6v、gn7i和最新推出的gn8is、gn8v-tee等实例规格是其中比较热门的gpu云服务器实例。阿里云gpu云服务器最新租用价格参考,适合AI推理/训练的16核60G+1张A10 24G显存(gn7i-c16g1.4xlarge),按量优惠价1.9/小时起。本文为大家展示阿里云gpu云服务器中gn5、gn6i等热门实例规格的主要性能和适用场景以及最新按量和1个月、1年收费标准,以供参考。
|
5月前
|
数据采集 机器学习/深度学习 人工智能
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
355 0
|
2月前
|
人工智能 运维 安全
运维老哥的救星?AI 驱动的自动化配置管理新趋势
运维老哥的救星?AI 驱动的自动化配置管理新趋势
119 11
|
4月前
|
机器学习/深度学习 人工智能 运维
运维不背锅,从“自动修锅”开始:AI自动化运维是怎么回事?
运维不背锅,从“自动修锅”开始:AI自动化运维是怎么回事?
313 49
|
3月前
|
运维 Prometheus 监控
系统崩了怪运维?别闹了,你该问问有没有自动化!
系统崩了怪运维?别闹了,你该问问有没有自动化!
112 9
|
3月前
|
运维 监控 应用服务中间件
运维打铁: Ruby 脚本在运维自动化中的应用探索
Ruby 是一种简洁、动态类型的编程语言,适合运维自动化任务。本文介绍了其在服务器配置管理、定时任务执行和日志分析处理中的应用,并提供了代码示例,展示了 Ruby 在运维自动化中的实际价值。
101 2
|
3月前
|
机器学习/深度学习 运维 监控
智能运维Agent:自动化运维的新范式
在数字化转型浪潮中,智能运维Agent正重塑运维模式。它融合人工智能与自动化技术,实现从被动响应到主动预防的转变。本文详解其四大核心功能:系统监控、故障诊断、容量规划与安全响应,探讨如何构建高效、可靠的自动化运维体系,助力企业实现7×24小时无人值守运维,推动运维效率与智能化水平全面提升。
625 0

热门文章

最新文章