背景
在一些情境下,根據執行個體的使用需求變化需要將訂用帳戶轉隨用隨付或者隨用隨付轉訂用帳戶。針對批量執行個體的情境,一台一台手動操作不僅效率低下還容易出錯。本文將介紹通過CloudOps Orchestration Service執行的方式批量修改ECS執行個體的計費方式。ECS執行個體的計費方式主要有兩種,訂用帳戶和隨用隨付。
前提條件
操作步驟
登入CloudOps Orchestration Service管理主控台。
單擊公用模板。
選擇批量修改執行個體的計費方式,對其單擊建立執行。
單擊下一步,設定參數。
輸入以下的參數:
instanceChargeType:執行個體需要修改的目標計費方式
period:(隨用隨付轉訂用帳戶時必填) 續約時間長度。PeriodUnit=Week時,Period取值:1~4,PeriodUnit=Month時,Period取值:1~12,24, 36, 48, 60。
periodUnit:(隨用隨付轉訂用帳戶時必填) 續約時間長度的時間單位
includeDataDisks:(隨用隨付轉訂用帳戶時必填) 是否將執行個體掛載的所有隨用隨付資料盤一起轉換為訂用帳戶資料盤
networkChargeType:網路需要修改的目標計費方式
regionId:地區ID
targets:目標執行個體
rateControl:(選填) 任務執行的並發比率
OOSAssumeRole:(選填) OOS扮演的RAM角色
單擊下一步:確認,單擊確認風險並執行。
在執行管理中可查看剛剛建立的執行,若建立執行成功,且執行狀態處於運行中,則表示修改ECS執行個體的計費方式進行中中。
當執行狀態轉換為成功時,則表示修改ECS執行個體的計費方式成功。可以在ECS執行個體頁面查看修改後的計費方式。
如需更多瞭解修改ECS執行個體的計費方式過程,當建立執行成功後,您可單擊該執行的詳情,查看執行日誌,即時瞭解執行的進度和狀態。
附錄
公用模板 ACS-ECS-BulkyModifyInstanceChargeType
FormatVersion: OOS-2019-06-01
Description:
en: Bulky modify instance charge type
zh-cn: 批量修改執行個體的計費方式
name-en: ACS-ECS-BulkyModifyInstanceChargeType
name-zh-cn: 批量修改執行個體的計費方式
categories:
- instance_manage
Parameters:
regionId:
Type: String
Label:
en: RegionId
zh-cn: 地區ID
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
targets:
Type: Json
Label:
en: TargetInstance
zh-cn: 目標執行個體
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: ALIYUN::ECS::Instance
RegionId: regionId
instanceChargeType:
Label:
en: InstanceChargeType
zh-cn: 執行個體需要修改的目標計費方式
Type: String
AllowedValues:
- PostPaid
- PrePaid
Default: PostPaid
periodUnit:
Label:
en: PeriodUnit
zh-cn: 續約時間長度的時間單位
Type: String
AllowedValues:
- Week
- Month
Default: Month
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${instanceChargeType}
- PostPaid
period:
Description:
en: The period of the instance
zh-cn: PeriodUnit=Week時,Period取值:1~4,PeriodUnit=Month時,Period取值:1~12,24, 36, 48, 60
Label:
en: Period
zh-cn: 續約時間長度
Type: Number
Default: 1
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${instanceChargeType}
- PostPaid
includeDataDisks:
Description:
en: Specifies whether to change the billing method of all data disks attached to the instance from pay-as-you-go to subscription
zh-cn: 是否將執行個體掛載的所有隨用隨付資料盤一起轉換為訂用帳戶資料盤
Label:
en: IncludeDataDisks
zh-cn: 是否轉換資料盤
Type: Boolean
Default: false
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${instanceChargeType}
- PostPaid
networkChargeType:
Label:
en: NetworkChargeType
zh-cn: 網路需要修改的目標計費方式
Type: String
AllowedValues:
- PayByBandwidth
- PayByTraffic
- ''
Default: PayByTraffic
rateControl:
Label:
en: RateControl
zh-cn: 任務執行的並發比率
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Label:
en: OOSAssumeRole
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: modifyInstanceChargeType
Description:
en: Modify instance charge type
zh-cn: 修改執行個體計費方式
Action: ACS::ECS::ModifyInstanceChargeType
Properties:
regionId: '{{ regionId }}'
instanceId: '{{ ACS::TaskLoopItem }}'
instanceChargeType: '{{ instanceChargeType }}'
networkChargeType: '{{ networkChargeType }}'
period: '{{ period }}'
periodUnit: '{{ periodUnit }}'
includeDataDisks: '{{ includeDataDisks }}'
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'
Metadata:
ALIYUN::OOS::Interface:
ParameterGroups:
- Parameters:
- instanceChargeType
- period
- periodUnit
- includeDataDisks
- networkChargeType
Label:
default:
zh-cn: 計費方式參數選擇
en: Choose the parameter of instnace charge type
- Parameters:
- regionId
- target
Label:
default:
zh-cn: 選擇執行個體
en: Select ECS Instances
- Parameters:
- rateControl
- OOSAssumeRole
Label:
default:
zh-cn: 進階選項
en: Control Options