すべてのプロダクト
Search
ドキュメントセンター

CloudOps Orchestration Service:一度に複数のECSインスタンスをリリースする

最終更新日:Jan 17, 2025

CloudOps Orchestration Service (OOS) は、一度に複数のElastic Compute Service (ECS) インスタンスをリリースするためのパブリックテンプレートを提供します。 ECSインスタンスを自動的にリリースするには、テンプレートに基づいて実行を作成し、実行するECSインスタンスのIDを指定します。

前提条件

リリースするECSインスタンスは、従量課金またはサブスクリプションインスタンスである必要があります。

手順

  1. OOSコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[自動タスク]> [パブリックテンプレート] を選択します。

  3. [パブリックテンプレート] ページで、従量課金ECSインスタンスのリリースに使用されるACS-ECS BulkyDeleteInstancesテンプレートを検索します。 次に、[実行の作成] をクリックします。

    ACS-ECS-BulkyDeleteInstances 1

  4. [タスクの作成] ページで、[基本情報] ステップのパラメーターを設定します。 次に、[次のステップ: パラメーター設定] をクリックします。

    image

  5. [パラメーター設定] ステップで、パブリックテンプレートを実行するパラメーターを設定します。 この例では、ACS-ECS-BulkyDeleteInstancesテンプレートが使用されています。

    image

    項目

    説明

    TargetInstance

    リリースするECSインスタンス。 インスタンスを直接選択したり、インスタンスタグを指定したり、インスタンスのリソースグループを指定したり、インスタンス情報を含むCSVファイルをアップロードしたりできます。

    テスト: oos / i-bp10jvphtux8ad ******

    フォース

    ECSインスタンスを強制的にリリースするかどうかを指定します。

    true/false

    RateControl

    レート制御タイプ

    同時実行ベースの制御

    同時実行

    10

    エラーのしきい値

    10

    OOSAssumeRole

    オプションです。 テンプレートの実行に使用する権限。 有効な値:

    • 現在のアカウントの既存の権限を使用する: これはデフォルト値です。 アカウントに付与されたすべての権限を利用できます。 カスタムイメージの作成に使用されるECS API操作を呼び出す権限があることを確認します。

    • RAMロールを指定し、このロールに付与された権限を使用する: Resource Access Management (RAM) ロールが指定されている場合、OOSはRAMロールを引き受けてO&Mタスクを実行します。

    現在のアカウントの既存の権限の使用

  6. [次へ:OK] をクリックします。 OKステップで、[作成] をクリックします。

    image

  7. タスク実行管理ページに移動して、作成された実行を表示します。 実行状態が [実行中] になると、指定されたインスタンスはリリース中です。

  8. 実行が成功状態に変わると、指定されたすべてのインスタンスがリリースされます。

  9. 指定されたすべてのインスタンスがリリースされているか確認します。 2

付録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 }}' 

テンプレートは次のタスクを順番に実行します。

  1. IDやタグなど、指定された検索条件に基づいてECSインスタンスを照会します。

  2. 指定されたすべての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 }}' 

テンプレートは次のタスクを順番に実行します。

  1. IDやタグなど、指定された検索条件に基づいてECSインスタンスを照会します。

  2. サブスクリプションインスタンスの課金方法を従量課金に変更します。

  3. 指定されたすべてのECSインスタンスを一度にリリースします。