为持续享受预留实例券的抵扣优惠,建议您在预留实例券到期前设置好自动购买功能。本文介绍如何通过运维编排服务OOS,实现预留实例券到期当天,系统自动购买相同规格的预留实例券。

背景信息

运维编排服务是阿里云提供的云上自动化运维服务,能够自动化管理和执行任务。您可以通过模板定义执行任务、执行顺序、执行输入和输出,然后执行模板完成一组运维操作。更多信息,请参见什么是运维编排服务

使用OOS可以实现在预留实例券到期当天自动购买相同规格的预留实例券。预留实例券续费成功且已匹配按量付费实例后,即可抵扣按量付费实例账单,为您自动化管理预留实例券,应对按量付费实例的变化提供更多方便。具体操作步骤如下所示:

步骤一:创建模板

  1. 登录运维编排OOS控制台
  2. 在左侧导航栏,单击我的模板
  3. 我的模板页面,单击创建模板
  4. 创建模板页面,配置模板相关信息。
    1. 基本信息区域,输入模板名称。
      您也可以根据实际业务场景,单击展开更多设置,设置标签信息、选择资源组、输入版本描述信息等。
    2. 单击YAML页签后,复制批量克隆预留实例券模版内容到YAML栏中。
      YAML格式的批量克隆预留实例券模板示例如下所示:
      FormatVersion: OOS-2019-06-01
      Description:
        en: Bulky clone reserved instances
        name-en: ACS-ECS-BulkyCloneReservedInstances
        categories:
          - instance_manage
      Parameters:
        regionId:
          Type: String
          Description:
            en: The id of region.
          AssociationProperty: RegionId
          Default: '{{ ACS::RegionId }}'
        tags:
          Description:
            en: 'The resource tag(example:{"k1":"v1","k2":"v2"}).'
          Type: Json
          AssociationProperty: Tags
        period:
          Description:
            en: The term of the reserved instance.
          Type: Number
          MinValue: 1
          MaxValue: 1
          Default: 1
        periodUnit:
          Description:
            en: The term unit of the reserved instance.
          Type: String
          AllowedValues:
            - Month
            - Year
          Default: Year
        OOSAssumeRole:
          Description:
            en: The RAM role to be assumed by OOS.
          Type: String
          Default: OOSServiceRole
      RamRole: '{{ OOSAssumeRole }}'
      Tasks:
        - Name: describeReservedInstances
          Action: 'ACS::ExecuteAPI'
          Description:
            en: Query purchased reserved instances.
          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.
          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 }}'
    3. 单击创建模板
      我的模板页面,您可以查看已创建的模板信息,包括模板名称、模板描述、格式信息等。
    关于创建模板的更多信息,请参见创建模板

步骤二:定时执行模板

  1. 在左侧导航栏,单击定时运维
  2. 定时运维页面,单击创建
  3. 创建定时运维任务页面,配置定时运维的相关规则。
    1. 完成定时设置。
      参数名称 说明
      定时类型 选择周期性重复执行
      重复频率 选择每天0时0分定时重复执行模板。具体Cron表达如下所示:
      • 分:0
      • 时:0
      • 天:*
      • 月:*
      • 周:*

      关于Cron表达式使用的更多信息,请参见Cron表达式的使用

      重复频率的时区 根据您所在的地区选择对应时区。例如,选择(GMT+08:00)Asia/Shanghai时区。
      规则结束时间 根据您实际的业务需求,自行选择该规则停止重复执行的时间。例如,选择2022-06-23 18:00:00结束该规则。您也可以在即将执行时间预览区域下,查看创建的定时运维规则的执行时间是否满足业务需求。
    2. 单击选择模板,在模板列表上方选择我的模板,选中步骤一:创建模板中已创建好的模板。
      select-template
    3. 单击设置模板参数,完成相关参数设置。
      区域 说明
      regionId 预留实例券所在的地域,例如华东1(杭州)。
      tags 输入模板的资源标签键和标签值。例如:
      • 标签键:k1
      • 标签值:v1
      period 购买预留实例券的时长,默认为1。
      periodUnit 购买预留实例券的时长单位,默认为Year。
      执行使用到的权限的来源 选择OOS服务需要扮演RAM角色,以获取执行模板所需的权限。
      说明 将鼠标悬浮至执行此模板需要的权限策略即可查看执行模板所需的权限。请保证您选择的RAM角色已授予这些权限,具体操作,请参见修改自定义权限策略内容和备注为RAM角色授权
    4. (可选)单击高级选项,完成高级参数的配置。
      保持默认配置,您也可以根据实际业务需要自行配置。例如,配置执行的标签执行的资源组,或者开启保存模板,以备后续可以在OOS的我的模板中找到并直接重复执行该模板。
  4. 单击立即执行

执行结果

执行定时任务后,在左侧导航栏,单击执行管理,在执行任务列表中,您可以查看刚刚创建的执行任务。若创建执行任务成功,且执行状态处于等待中,则表示定时运维任务已创建成功。您可以进一步查看定时任务执行的状态和其他信息。例如,该执行任务的基本信息、历史执行时间、执行计划(即将执行时间预览)、日志等信息。

执行详情-zh