基于OOS实现预留实例券到期后自动克隆

简介: 使用OOS在预留实例券到期当天自动购买相同规格的预留实例券

OOS简介
Operation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更详细的介绍请参见什么是运维编排服务

场景介绍
预留实例券到期当天自动购买相同规格的预留实例券。

创建模板
1.登陆OOS控制台,找到我的模板,点击创建模板。
image.png

2.选择空白模版。
image.png

3.复制下文提供的模板到YAML栏中,输入模板名称,点击创建模板。
image.png

模板内容:

FormatVersion: OOS-2019-06-01
Description:
  en: Bulky clone reserved instances
  zh-cn: 批量克隆预留实例券。
  name-en: ACS-ECS-BulkyCloneReservedInstances
  name-zh-cn: 批量克隆预留实例券
  categories:
    - instance_manage
Parameters:
  regionId:
    Type: String
    Description:
      en: The id of region.
      zh-cn: 地域ID。
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  tags:
    Description:
      en: 'The resource tag(example:{"k1":"v1","k2":"v2"}).'
      zh-cn: '资源标签(例:{"k1":"v1","k2":"v2"})。'
    Type: Json
    AssociationProperty: Tags
  period:
    Description:
      en: The term of the reserved instance.
      zh-cn: 购买预留实例券的时长。
    Type: Number
    MinValue: 1
    MaxValue: 1
    Default: 1
  periodUnit:
    Description:
      en: The term unit of the reserved instance.
      zh-cn: 购买预留实例券的时长单位。
    Type: String
    AllowedValues:
      - Month
      - Year
    Default: Year
  OOSAssumeRole:
    Description:
      en: The RAM role to be assumed by OOS.
      zh-cn: OOS扮演的RAM角色。
    Type: String
    Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: describeReservedInstances
    Action: 'ACS::ExecuteAPI'
    Description:
      en: Query purchased reserved instances.
      zh-cn: 获取预留实例券ID。
    Properties:
      Service: ECS
      API: DescribeReservedInstances
      Parameters:
        RegionId: '{{ regionId }}'
        Tags: '{{ tags }}'
    Outputs:
      reservedInstanceIds:
        Type: List
        ValueSelector: '.ReservedInstances.ReservedInstance[] | select(.ExpiredTime[0:11] == "{{ACS::CurrentDate}}") | .ReservedInstanceId'
  - Name: bulkyCloneReservedInstance
    Action: 'ACS::ECS::CloneReservedInstance'
    Description:
      en: Clone reserved instances.
      zh-cn: 克隆预留实例券。
    Properties:
      regionId: '{{ regionId }}'
      reservedInstanceId: '{{ ACS::TaskLoopItem }}'
      period: '{{ period }}'
      periodUnit: '{{ periodUnit }}'
    Loop:
      RateControl:
        Mode: Concurrency
        MaxErrors: 0
        Concurrency: 10
      Items: '{{ describeReservedInstances.reservedInstanceIds }}'
      Outputs:
        reservedInstanceIds:
          AggregateType: 'Fn::ListJoin'
          AggregateField: reservedInstanceId
    Outputs:
      reservedInstanceId:
        Type: String
        ValueSelector: reservedInstanceId
Outputs:
  reservedInstanceIds:
    Type: List
    Value: '{{ bulkyCloneReservedInstance.reservedInstanceIds }}'

定时执行模版
1.找到定时运维,点击创建,选择周期性重复执行,设置定时执行的规则。
截图所示规则:截止规则结束时间,每天0点0分定时执行制指定模板。
image.png

2.模板选择,选择上文创建的模板。
image.png

3.参数设置,选择目标地域,标签,预留实例券设置时长单位(默认Year),点击立即执行。
image.png

4.在执行详情页中可以查看定时执行列表和所操作的资源。
image.png

目录
相关文章
|
7天前
|
存储 运维 NoSQL
通过OOS实现定时备份Redis实例转储到OSS
基于阿里云 Redis 备份功能,现结合 OOS 推出自动转储至 OSS 的新方案,解决了数据安全风险、运维繁琐、成本增加和效率低下等问题。新方案亮点包括: 1. 数据安全性提高:备份文件自动上传至OSS,利用OSS的数据冗余存储,保证数据在硬件故障时的持久性和可用性。 2. 完全自动化:设置好定时规则后,备份和转储过程无需人工干预。 3. 多实例多地域集中管理:支持一次选择多个实例和跨区域备份,简化管理。 4. 灵活的备份策略和成本控制:自定义备份频率,并通过OSS生命周期管理策略控制成本。 5. 监控和告警:集成OSS和云监控,实时掌握备份状态,及时处理异常。
132 0
|
10月前
|
弹性计算 负载均衡 测试技术
运维编排系列场景--跨可用区批量克隆ECS实例
背景可用区(Availability Zone,简称 AZ)是指在同一地域内,电力和网络互相独立的物理区域。例如,华北1(青岛)地域支持2个可用区,包括青岛 可用区B和青岛 可用区C。同一可用区内实例之间的网络延时更小,其用户访问速度更快。将应用部署在多个可用区可以提高应用的可用性,降低故障风险。然而,在实际应用中,有时需要将实例从一个可用区迁移到另一个可用区,以实现故障切换、负载均衡、数据备份与
559 0
运维编排系列场景--跨可用区批量克隆ECS实例
|
10月前
|
弹性计算 运维 数据中心
运维编排系列场景--跨账号跨地域实例操作系统补丁修复
运维编排(OOS) 简介什么是OOSOperation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更
394 0
|
10月前
|
弹性计算 运维 监控
运维编排系列场景--通过告警触发自动重启CPU使用率高的ECS实例
运维编排(OOS) 简介什么是OOSOperation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更
184 0
|
弹性计算
使用OOS定时给特定名称开头的ECS实例打标签
使用OOS定时给名称中包含特定字符开头的ECS实例打标签。
129 1
使用OOS定时给特定名称开头的ECS实例打标签
|
弹性计算 运维
基于OOS实现生命周期挂钩绑定EIP到实例
ESS生命周期挂钩使用OOS模板实现自动绑定账户下已有EIP到实例。
671 0
基于OOS实现生命周期挂钩绑定EIP到实例
|
弹性计算 JSON 运维
使用运维编排服务配置多台实例的免密登陆
运维编排是阿里云提供的云上自动化运维服务,能够自动化管理和执行任务。您可以通过模板来定义执行任务、执行顺序、执行输入和输出,然后通过执行模板来完成任务的自动化运行。 SSH免密登陆大多用于自动化运维,主要是安全方便自动化管理大批服务器。如果您有大量的实例,期望可以将部分或全部的实例配置成免密登陆。那么怎么才能快速的配置实例的免密登陆呢?下面为您介绍通过运维编排服务来快速配置大量实例的免密登陆。
|
弹性计算 运维
基于OOS实现包年包月实例到期后提前一天转按量
通过运维编排服务在包年包月实例到期前一天及时将实例转成按量付费,以降低成本。
1128 0
基于OOS实现包年包月实例到期后提前一天转按量
|
弹性计算 运维 对象存储
运维编排场景系列----Autoscaling 通过LifecycleHook在实例启动时安装软件
本文将为您介绍如何通过LifecycleHook实现弹性伸缩组中实例启动/释放时执行命令
969 0