天天看點

包年包月執行個體到期後提前一天轉成按量

建立模闆

1.登陸OOS控制台,找到我的模闆,點選建立模闆。

包年包月執行個體到期後提前一天轉成按量
2.選擇空白模版。
包年包月執行個體到期後提前一天轉成按量
3.複制下文提供的模闆到YAML欄中,輸入模闆名稱,點選建立模闆
包年包月執行個體到期後提前一天轉成按量

模闆内容:

Description: Modify chargetype of prepaid instance charge type.

FormatVersion: OOS-2019-06-01

Parameters:

regionId:

Type: String
Description:
  en: The id of region.
  zh-cn: 地域ID。
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'           

targets:

Type: Json
AssociationProperty: Targets
AssociationPropertyMetadata:
  ResourceType: 'ALIYUN::ECS::Instance'
  RegionId: regionId           

rateControl:

Description:
  en: Concurrency ratio of task execution.
  zh-cn: 任務執行的并發比率。
Type: Json
AssociationProperty: RateControl
Default:
  Mode: Concurrency
  MaxErrors: 0
  Concurrency: 10           

OOSAssumeRole:

Description:
  en: The RAM role to be assumed by OOS.
  zh-cn: OOS扮演的RAM角色。
Type: String
Default: OOSServiceRole           

RamRole: '{{ OOSAssumeRole }}'

Tasks:

  • Name: getInstance
    Description:
      en: Views the ECS instances.
      zh-cn: 擷取ECS執行個體。
    Action: 'ACS::SelectTargets'
    Properties:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: '{{ regionId }}'
      Filters:           
    • '{{ targets }}'
      Outputs:
        instanceIds:           
      Type: List
    ValueSelector: 'Instances.Instance[].InstanceId'
  • Name: describeInstances
    Action: 'ACS::ExecuteAPI'
    Description:
      zh-cn: Get Instance by expired time.
      en: 根據到期時間過濾執行個體。
    Properties:
      Service: ECS
      API: DescribeInstances
      Parameters:           

    RegionId: '{{ regionId }}'

    InstanceIds: '{{ getInstance.instanceIds }}'

    InstanceChargeType: PrePaid

    Filter3Key: ExpiredStartTime

    Filter4Key: ExpiredEndTime

    Filter3Value:

    'Fn::FormatUTCTime':

    - 'Fn::AddHour':
        - '{{ACS::CurrentUTCTime}}'
        - 24
    - '%Y-%m-%dT00:00Z'           
    Filter4Value:
    - 'Fn::AddHour':
        - '{{ACS::CurrentUTCTime}}'
        - 48
    - '%Y-%m-%dT00:00Z'
    Outputs:
      instanceIds:           
  • Name: modifyInstanceChargeType
    Description:
      en: Modify instance charge type.
      zh-cn: 修改執行個體計費方式。
    Action: 'ACS::ECS::ModifyInstanceChargeType'
    Properties:
      regionId: '{{ regionId }}'
      instanceId: '{{ ACS::TaskLoopItem }}'
      instanceChargeType: PostPaid
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ describeInstances.instanceIds }}'           
    Outputs:

InstanceIds:

Type: List
Value: '{{ describeInstances.instanceIds }}'
           

4、定時執行模版

找到定時運維,點選建立,選擇周期性重複執行,設定定時執行的規則

截圖所示規則:截止規則結束時間,每天0點0分定時執行制指定模闆,建議設定早上8~9點

包年包月執行個體到期後提前一天轉成按量

5.模闆選擇,選擇上文建立的模闆

包年包月執行個體到期後提前一天轉成按量

6.參數設定,設定目标地域,選擇對應的執行個體。點選立即執行

包年包月執行個體到期後提前一天轉成按量

7.在執行詳情頁中可以檢視定時執行清單和所操作的資源

包年包月執行個體到期後提前一天轉成按量