CloudOps Orchestration Service (OOS) は、一度に複数のElastic Compute Service (ECS) インスタンスをリリースするためのパブリックテンプレートを提供します。 ECSインスタンスを自動的にリリースするには、テンプレートに基づいて実行を作成し、実行するECSインスタンスのIDを指定します。
前提条件
リリースするECSインスタンスは、従量課金またはサブスクリプションインスタンスである必要があります。
手順
OOSコンソールにログインします。
左側のナビゲーションウィンドウで、[自動タスク]> [パブリックテンプレート] を選択します。
[パブリックテンプレート] ページで、従量課金ECSインスタンスのリリースに使用されるACS-ECS BulkyDeleteInstancesテンプレートを検索します。 次に、[実行の作成] をクリックします。
ACS-ECS-BulkyDeleteInstances
[タスクの作成] ページで、[基本情報] ステップのパラメーターを設定します。 次に、[次のステップ: パラメーター設定] をクリックします。
[パラメーター設定] ステップで、パブリックテンプレートを実行するパラメーターを設定します。 この例では、ACS-ECS-BulkyDeleteInstancesテンプレートが使用されています。
項目
説明
例
TargetInstance
リリースするECSインスタンス。 インスタンスを直接選択したり、インスタンスタグを指定したり、インスタンスのリソースグループを指定したり、インスタンス情報を含むCSVファイルをアップロードしたりできます。
テスト: oos / i-bp10jvphtux8ad ******
フォース
ECSインスタンスを強制的にリリースするかどうかを指定します。
true/false
RateControl
レート制御タイプ
同時実行ベースの制御
同時実行
10
エラーのしきい値
10
OOSAssumeRole
オプションです。 テンプレートの実行に使用する権限。 有効な値:
現在のアカウントの既存の権限を使用する: これはデフォルト値です。 アカウントに付与されたすべての権限を利用できます。 カスタムイメージの作成に使用されるECS API操作を呼び出す権限があることを確認します。
RAMロールを指定し、このロールに付与された権限を使用する: Resource Access Management (RAM) ロールが指定されている場合、OOSはRAMロールを引き受けてO&Mタスクを実行します。
現在のアカウントの既存の権限の使用
[次へ:OK] をクリックします。 OKステップで、[作成] をクリックします。
タスク実行管理ページに移動して、作成された実行を表示します。 実行状態が [実行中] になると、指定されたインスタンスはリリース中です。
実行が成功状態に変わると、指定されたすべてのインスタンスがリリースされます。
指定されたすべてのインスタンスがリリースされているか確認します。
付録1: パブリックテンプレートとロジック
ACS-ECS-BulkyDeleteInstances
FormatVersion: OOS-2019-06-01
説明:
en: ECS後払いインスタンスを一括削除します。
name-en: ACS-ECS-BulkyDeleteInstances
カテゴリ:
-instance_manage
パラメータ:
ターゲット:
タイプ: Json
AssociationProperty: ターゲット
AssociationPropertyMetadata:
ResourceType: 'ALIYUN::ECS::Instance'
力:
説明:
en: 実行中のインスタンスのリリースを強制するかどうか。
データ型:Bolean
デフォルト:false
rateControl:
説明:
en: タスク実行の同時実行比率。
タイプ: Json
AssociationProperty: RateControl
Default:
モード: 同時実行
MaxErrors: 0
並行性: 10
OOSAssumeRole:
説明:
en: OOSが引き受けるRAMロール。
データ型:Strig
デフォルト: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
タスク:
-名前: getInstance
説明:
en: ECSインスタンスを表示します。
アクション: 'ACS::SelectTargets'
プロパティ:
ResourceType: 'ALIYUN::ECS::Instance'
フィルター:
-'{{ targets }}'
Outputs:
instanceIds:
タイプ: リスト
ValueSelector: 'Instances.Instance[].InstanceId'
-名前: deleteInstance
アクション: 'ACS::ExecuteAPI'
説明:
en: 指定されたインスタンスIDを持つECSインスタンスを削除します。
プロパティ:
サービス: ECS
API: DeleteInstance
パラメーター:
InstanceId: '{{ ACS::TaskLoopItem }}'
フォース: '{{Force}}'
ループ:
RateControl: '{{ rateControl }}'
アイテム: '{{ getInstance.instanceIds }}'
テンプレートは次のタスクを順番に実行します。
IDやタグなど、指定された検索条件に基づいてECSインスタンスを照会します。
指定されたすべてのECSインスタンスを一度にリリースします。
ACS-ECS-BulkyDeletePrepaidInstances
FormatVersion: OOS-2019-06-01
説明:
en: >-
Bulky deleteプリペイドインスタンス。指定されたECSインスタンスは
停止ステータス。
name-en: ACS-ECS-BulkyDeletePrepaidInstances
カテゴリ:
-instance_manage
パラメータ:
ターゲット:
タイプ: Json
AssociationProperty: ターゲット
AssociationPropertyMetadata:
ResourceType: 'ALIYUN::ECS::Instance'
rateControl:
説明:
en: タスク実行の同時実行比率。
タイプ: Json
AssociationProperty: RateControl
Default:
モード: 同時実行
MaxErrors: 0
並行性: 10
OOSAssumeRole:
説明:
en: OOSが引き受けるRAMロール。
データ型:Strig
デフォルト: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
タスク:
-名前: getInstance
説明:
en: ECSインスタンスを表示します。
アクション: 'ACS::SelectTargets'
プロパティ:
ResourceType: 'ALIYUN::ECS::Instance'
フィルター:
-'{{ targets }}'
Outputs:
instanceIds:
タイプ: リスト
ValueSelector: 'Instances.Instance[].InstanceId'
-名前: modifyInstanceChargeType
アクション: 'ACS::ExecuteAPI'
説明:
en: プリペイドインスタンスの料金タイプを後払いに変更します。
プロパティ:
サービス: ECS
API: ModifyInstanceChargeType
パラメーター:
InstanceIds: '{{ getInstance.instanceIds }}'
InstanceChargeType: PostPaid
-名前: deleteInstance
アクション: 'ACS::ECS::DeleteInstance'
説明:
en: インスタンスIDでECSインスタンスを削除します。
プロパティ:
instanceId: '{{ ACS::TaskLoopItem }}'
ループ:
RateControl: '{{ rateControl }}'
アイテム: '{{ getInstance.instanceIds }}'
テンプレートは次のタスクを順番に実行します。
IDやタグなど、指定された検索条件に基づいてECSインスタンスを照会します。
サブスクリプションインスタンスの課金方法を従量課金に変更します。
指定されたすべてのECSインスタンスを一度にリリースします。