背景情報
利用要件が変更された場合、ECS インスタンスの課金方法をサブスクリプションと従量課金の間で切り替える必要が生じることがあります。複数のインスタンスに対してこの操作を手動で行うと、非効率的でエラーが発生しやすくなります。CloudOps Orchestration Service を使用すると、複数の ECS インスタンスの課金方法を一度に変更できます。ECS インスタンスは、サブスクリプションと従量課金の 2 つの課金方法をサポートしています。
前提条件
-
サブスクリプションから従量課金に変更する方法については、「インスタンスの課金方法をサブスクリプションから従量課金に変更」をご参照ください。
-
従量課金からサブスクリプションに変更する方法については、「インスタンスの課金方法を従量課金からサブスクリプションに変更」をご参照ください。
操作手順
-
OOS コンソールで、[Automated Task] > [Public Template] ページに移動します。
-
検索ボックスに [Bulk modify instance charge type] と入力して
をクリックし、検索結果で 実行作成 をクリックします。
-
[Next Step: Parameter Settings] をクリックします。

-
以下のパラメーターを設定します:
-
instanceChargeType:インスタンスに適用する課金方法。-
period:(従量課金からサブスクリプションへの切り替え時に必須) サブスクリプション期間。PeriodUnitがWeekに設定されている場合、有効な値は 1~4 です。PeriodUnitがMonthに設定されている場合、有効な値は 1~12、24、36、48、60 です。 -
periodUnit:(従量課金からサブスクリプションへの切り替え時に必須) サブスクリプション期間の単位。
-
-
includeDataDisks:(従量課金からサブスクリプションへの切り替え時に必須) アタッチされているすべての従量課金データディスクをサブスクリプションに変換するかどうか。 -
networkChargeType:ネットワークに適用する課金方法。 -
regionId:リージョン ID。 -
targets:ターゲットインスタンス。 -
rateControl:(オプション) タスク実行の同時実行レート。 -
OOSAssumeRole:(オプション) OOS がタスクの実行時に引き受ける RAM ロール。
-
-
[Next Step: OK] をクリックし、次に 作成 をクリックします。
-
エグゼキューション ページで、新しい実行を見つけます。
-
実行ステータスが [実行中] の場合、課金方法の変更が進行中です。
-
実行ステータスが [完了] に変わると、操作は完了です。ECS コンソールの [Instances] ページで新しい課金方法を確認できます。
説明詳細については、実行の 詳細 をクリックしてください。実行ログを表示して、進行状況をリアルタイムで追跡できます。
-
付録
パブリックテンプレート:ACS-ECS-BulkyModifyInstanceChargeType
FormatVersion: OOS-2019-06-01
Description:
en: Bulk modify instance charge type
zh-cn: 批量修改实例的计费方式
ja: インスタンスの課金タイプを一括変更
name-en: ACS-ECS-BulkyModifyInstanceChargeType
name-zh-cn: 批量修改实例的计费方式
name-ja: インスタンスの課金タイプを一括変更
categories:
- instance_manage
Parameters:
regionId:
Type: String
Label:
en: RegionId
zh-cn: 地域ID
ja: リージョン ID
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
targets:
Type: Json
Label:
en: TargetInstance
zh-cn: 目标实例
ja: ターゲットインスタンス
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: ALIYUN::ECS::Instance
RegionId: regionId
instanceChargeType:
Label:
en: InstanceChargeType
zh-cn: 实例需要修改的目标计费方式
ja: インスタンスの変更後の課金タイプ
Type: String
AllowedValues:
- PostPaid
- PrePaid
Default: PostPaid
periodUnit:
Label:
en: PeriodUnit
zh-cn: 续费时长的时间单位
ja: サブスクリプション期間の単位
Type: String
AllowedValues:
- Week
- Month
Default: Month
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${instanceChargeType}
- PostPaid
period:
Description:
en: 'If PeriodUnit is set to Week, the valid values for Period are 1 to 4. If PeriodUnit is set to Month, the valid values are 1 to 12, 24, 36, 48, and 60.'
zh-cn: PeriodUnit=Week时,Period取值:1~4,PeriodUnit=Month时,Period取值:1~12,24, 36, 48, 60
ja: 'PeriodUnit が Week の場合、Period の有効値は 1~4 です。PeriodUnit が Month の場合、Period の有効値は 1~12、24、36、48、60 です。'
Label:
en: Period
zh-cn: 续费时长
ja: サブスクリプション期間
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: 是否将实例挂载的所有按量付费数据盘一起转换为包年包月数据盘
ja: インスタンスにアタッチされているすべての従量課金データディスクの課金方法をサブスクリプションに変更するかどうかを指定します
Label:
en: IncludeDataDisks
zh-cn: 是否转换数据盘
ja: データディスクを変換するかどうか
Type: Boolean
Default: false
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${instanceChargeType}
- PostPaid
networkChargeType:
Label:
en: NetworkChargeType
zh-cn: 网络需要修改的目标计费方式
ja: ネットワークの変更後の課金方法
Type: String
AllowedValues:
- PayByBandwidth
- PayByTraffic
- ''
Default: PayByTraffic
rateControl:
Label:
en: RateControl
zh-cn: 任务执行的并发比率
ja: タスク実行の同時実行レート
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Label:
en: OOSAssumeRole
zh-cn: OOS扮演的RAM角色
ja: OOS が引き受ける RAM ロール
Type: String
Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: getInstance
Description:
en: Retrieves the ECS instances
zh-cn: 获取ECS实例
ja: 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: 修改实例计费方式
ja: インスタンスの課金タイプを変更
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: Instance Charge Type Settings
ja: 課金タイプ設定
- Parameters:
- regionId
- targets
Label:
default:
zh-cn: 选择实例
en: Select ECS Instances
ja: ECS インスタンスの選択
- Parameters:
- rateControl
- OOSAssumeRole
Label:
default:
zh-cn: 高级选项
en: Control Options
ja: 制御オプション