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

Auto Scaling:Alibaba Cloud CLI を使用したローリングアップデートタスクの実行

最終更新日:Sep 18, 2026

Alibaba Cloud CLI は、Alibaba Cloud OpenAPI 上に構築された管理ツールで、OpenAPI を呼び出して Alibaba Cloud のサービスを管理できます。このチュートリアルでは、Alibaba Cloud CLI を使用して、スケーリンググループ内の Elastic Compute Service (ECS) インスタンスに対してローリングアップデートタスクを実行します。また、アップデートが期待どおりに完了しなかった場合に、ローリングアップデートタスクをロールバックする方法についても説明します。

前提条件

  • Alibaba Cloud CLI がインストール済みであること。詳細については、「Alibaba Cloud CLI ドキュメント」のインストールガイドをご参照ください。

  • スケーリンググループが作成され、ECS インスタンスがスケーリンググループに追加済みであること。

  • (インスタンスイメージの更新にのみ適用) スケーリンググループのインスタンス構成ソースがスケーリング設定であること。

  • (OOS パッケージのインストールにのみ適用) ECS インスタンスにインストールする OOS パッケージが、事前に OOS で作成済みであること。詳細については、「カスタム拡張機能のバッチ管理」をご参照ください。

背景情報

ローリングアップデートは、複数の ECS インスタンスの設定をバッチで更新します。Alibaba Cloud CLI からローリングアップデートタスクを実行すると、そのタスクは Operation Orchestration Service (OOS) のパブリックテンプレートの実行として実行されます。詳細については、「ローリングアップデート」をご参照ください。

シナリオ

このチュートリアルは、3つの連続するステップと、必要に応じて実行するロールバックのステップで構成されています。各ローリングアップデートシナリオは、OOS のパブリックテンプレートの実行として実行されます。このチュートリアルでは、以下の手順を説明します:

ステップ 1: RAM ユーザーの作成と権限の付与

  1. Resource Access Management (RAM) コンソールにログインします。

  2. RAM ユーザーを作成します。

    このステップでは、サンプルユーザーとして example という名前の RAM ユーザーを使用します。詳細については、「RAM ユーザーの作成」をご参照ください。

    1. 左側メニューで、アイデンティティ > ユーザー を選択します。

    2. ユーザーの作成 をクリックします。

    3. ユーザーの作成 ページで、ユーザー設定を指定し、OK をクリックします。

      設定例を次の表に示します。

      設定項目

      設定例

      [ログイン名]

      example@sample.com

      [表示名]

      example

      [アクセスモード]

      [永続的な AccessKey を使用してアクセス] を選択します。RAM ユーザー用の AccessKey ペアが自動的に生成され、API または他の開発ツールを使用して Alibaba Cloud にアクセスできるようになります。

    4. ユーザー情報 ページで、CSV ファイルのダウンロード をクリックします。

      説明

      AccessKey Secret は作成時にのみ表示され、照会することはできません。機密を保持してください。AccessKey ペアが漏洩または紛失した場合は、新しい AccessKey ペアを作成する必要があります。

  3. RAM ユーザーにリソースを操作する権限を付与します。

    1. 左側メニューで、アイデンティティ > ユーザー を選択します。

    2. 作成した RAM ユーザー example を見つけます。操作 列で、許可の追加 をクリックします。

    3. 権限を付与 ページで、ローリングアップデートタスクの実行に必要な権限を選択して、[OK] をクリックします。

      設定例を次の表に示します。

      設定項目

      設定例

      [リソース]

      デフォルト値の Account を維持します。

      プリンシパル

      デフォルト値の example@sample.com を維持します。

      [ポリシー]

      以下のシステムポリシーを選択します:

      • AliyunECSFullAccess:ECS リソース (ECS インスタンスおよびその他の関連リソースを含む) を操作する権限。

      • AliyunESSFullAccess:Auto Scaling リソース (スケーリンググループおよびその他の関連リソースを含む) を操作する権限。

      • AliyunOOSFullAccessCloudOps Orchestration Service リソース (実行およびその他の関連リソースを含む) を操作する権限。

      • AliyunOSSFullAccess:Object Storage Service (OSS) リソース (バケットおよびその他の関連リソースを含む) を操作する権限。

ステップ 2: Alibaba Cloud CLI の設定と確認

  1. ローカルコンピューターでターミナルまたはコマンドプロンプトを開きます。

  2. Alibaba Cloud CLI を設定します。

    1. 次のコマンドを実行して設定ファイルを開きます:

      aliyun configure
    2. プロンプトに従って、AccessKey ID、AccessKey Secret、デフォルトリージョン、その他の情報を入力します。

      cli-config

      ステップ 3 のサンプルコマンドにはリージョンパラメーターが含まれていません。設定するデフォルトリージョンが、スケーリンググループが配置されているリージョンであることを確認してください。

  3. 次のコマンドを実行して、Alibaba Cloud CLI が利用可能であることを確認します:

    aliyun ecs DescribeRegions

    cli-example

    他の設定項目に関する詳細については、「Alibaba Cloud CLI ドキュメント」の Alibaba Cloud CLI の設定に関するセクションをご参照ください。

ステップ 3: Alibaba Cloud CLI を使用したローリングアップデートタスクの実行

サンプルコマンドでは、Linux や macOS の bash などの POSIX シェルの引用符と行継続の規則を使用しています。Windows PowerShell またはコマンドプロンプトを使用する場合は、そのシェルに合わせて引用符とエスケープ文字を調整してください。

すべてのサンプルコマンドでは、batchPauseOptionAutomatic に設定しており、これにより各バッチが一時停止せずに実行されます。最初のバッチが実行された後にタスクを一時停止するには、batchPauseOptionFirstBatchPause に設定します。

  1. Alibaba Cloud CLI コマンドを入力して、ローリングアップデートタスクを実行します。

    サンプルコードで使用されている OOS テンプレートパラメーターの説明については、「リファレンス: OOS テンプレートパラメーター」をご参照ください。

    • 次のサンプルコマンドは、スケーリンググループ内の ECS インスタンスのイメージを Alibaba Cloud Linux 2.1903 LTS 64 ビットに更新します:

      aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup --Parameters "{
              \"invokeType\": \"invoke\",
              \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\",
              \"scalingConfigurationId\": \"asc-bp1bx8mzur534edp****\",
              \"imageId\": \"aliyun_2_1903_x64_20G_alibase_20200529.vhd\",
              \"sourceImageId\": \"centos_7_8_x64_20G_alibase_20200717.vhd\",
              \"OOSAssumeRole\": \"\",
              \"enterProcess\": [
                \"ScaleIn\",
                \"ScaleOut\",
                \"HealthCheck\",
                \"AlarmNotification\",
                \"ScheduledAction\"
              ],
              \"exitProcess\":  [
                \"ScaleIn\",
                \"ScaleOut\",
                \"HealthCheck\",
                \"AlarmNotification\",
                \"ScheduledAction\"
              ],
              \"batchNumber\": 2,
              \"batchPauseOption\": \"Automatic\"
            }"
    • スクリプト実行のコマンド例は次のとおりです。スケーリンググループ内の ECS インスタンスでシェルコマンド df -hifconfig を実行し、インスタンスのディスクとネットワークの設定情報を表示します。

      aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByRunCommandInScalingGroup --Parameters "{
              \"invokeType\": \"invoke\",
              \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\",
              \"commandType\": \"RunShellScript\",
              \"invokeScript\": \"df -h\nifconfig\",
              \"rollbackScript\": \"df -h\nifconfig\",
              \"OOSAssumeRole\": \"\",
              \"exitProcess\": [
                \"ScaleIn\",
                \"ScaleOut\",
                \"HealthCheck\",
                \"AlarmNotification\",
                \"ScheduledAction\"
              ],
              \"enterProcess\": [
                \"ScaleIn\",
                \"ScaleOut\",
                \"HealthCheck\",
                \"AlarmNotification\",
                \"ScheduledAction\"
              ],
              \"batchNumber\": 2,
              \"batchPauseOption\": \"Automatic\"
            }"
    • OOS パッケージをインストールするコマンド例は次のとおりです。OOS で作成された WordPress パッケージをスケーリンググループ内の ECS インスタンスに一様にインストールします。

      aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByConfigureOOSPackage --Parameters "{
              \"invokeType\": \"invoke\",
              \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\",
              \"packageName\": \"wordpress\",
              \"packageVersion\": \"v4\",
              \"action\": \"install\",
              \"OOSAssumeRole\": \"\",
              \"enterProcess\": [
                \"ScaleIn\",
                \"ScaleOut\",
                \"HealthCheck\",
                \"AlarmNotification\",
                \"ScheduledAction\"
              ],
              \"exitProcess\": [
                \"ScaleIn\",
                \"ScaleOut\",
                \"HealthCheck\",
                \"AlarmNotification\",
                \"ScheduledAction\"
              ],
              \"batchNumber\": 2,
              \"batchPauseOption\": \"Automatic\"
            }"
  2. 実行の詳細を表示して、ローリングアップデートタスクの結果を確認します。

    CLI コマンドを実行してローリングアップデートタスクを実行すると、OOS で実行が自動的に作成されます。返された実行 ID を使用して、実行結果や出力などの実行の詳細を表示できます。次の例は、実行 ID を見つけてスクリプト実行の詳細を表示する方法を示しています。

    1. コマンドから返された情報の中から、ローリングアップデートタスクの実行 ID を見つけます。

      実行 ID の例を次の図に示します。exec-id

    2. サンプル実行 ID をご自身のものに置き換えてから、次の Alibaba Cloud CLI コマンドを実行し、実行の詳細を表示します:

      aliyun oos ListExecutions --ExecutionId exec-40e2e17ef7e04****

      exec-outputs

ローリングアップデートタスクのロールバック: ローリングアップデート中の異常処理

ローリングアップデートプロセス中に例外が発生した場合、またはローリングアップデート後に以前の設定を使用する必要がある場合は、ロールバックタスクを実行して、スケーリンググループ内の ECS インスタンスの設定を復元できます。このステップでは、既に実行されたローリングアップデートタスクをロールバックする方法を示すコマンド例を提供します。

  1. コマンドから返された情報の中から、ローリングアップデートタスクの実行 ID を見つけます。

    実行 ID の例を次の図に示します。exec-id

  2. Alibaba Cloud CLI コマンドを入力して、ロールバックタスクを実行します。

    サンプルコードで使用されている OOS テンプレートパラメーターの説明については、「リファレンス: OOS テンプレートパラメーター」をご参照ください。

    説明

    ロールバックタスクを実行すると、OOS はローリングアップデートタスクに基づいて、ロールバックする ECS インスタンスのフィルタリングやスケーリングプロセスの停止と再開などの操作を自動的に実行します。したがって、一部のパラメーターの指定をスキップできます。

    • 次のサンプルコマンドは、ECS インスタンスのイメージを CentOS 7.8 64 ビットにロールバックします:

      aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup --Parameters "{
              \"invokeType\": \"rollback\",
              \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\",
              \"scalingConfigurationId\": \"asc-bp1bx8mzur534edp****\",
              \"sourceImageId\": \"centos_7_8_x64_20G_alibase_20200717.vhd\",
              \"sourceExecutionId\": \"exec-83dba59be77d430****\",
              \"OOSAssumeRole\": \"\",
              \"batchNumber\": 2,
              \"batchPauseOption\": \"Automatic\"
            }"
    • ロールバックスクリプト実行のコマンド例は次のとおりです。ECS インスタンスでロールバックスクリプトを実行します。ここでは、シェルコマンド df -hifconfig を引き続き例として使用しており、必要に応じてスクリプトを置き換えることができます。

      aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByRunCommandInScalingGroup --Parameters "{
              \"invokeType\": \"rollback\",
              \"commandType\": \"RunShellScript\",
              \"rollbackScript\": \"df -h\nifconfig\",
              \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\",
              \"sourceExecutionId\": \"exec-40e2e17ef7e046****\",
              \"OOSAssumeRole\": \"\",
              \"batchNumber\": 2,
              \"batchPauseOption\": \"Automatic\"
            }"
    • OOS パッケージのインストールをロールバックするコマンド例は次のとおりです。OOS で作成された WordPress パッケージの履歴バージョンを ECS インスタンスに一様にインストールします。

      aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByConfigureOOSPackage --Parameters "{
              \"invokeType\": \"rollback\",
              \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\",
              \"packageVersion\": \"v3\",
              \"packageName\": \"wordpress\",
              \"sourceExecutionId\": \"exec-f4e61f2f21fe490****\",
              \"OOSAssumeRole\": \"\",
              \"batchNumber\": 2,
              \"batchPauseOption\": \"Automatic\"
            }"
  3. 実行の詳細を表示して、ロールバックタスクの結果を確認します。

    CLI コマンドを実行してロールバックタスクを実行すると、OOS で実行が自動的に作成されます。ステップ 3 の手順に従って、実行結果や出力などの実行の詳細を表示できます。

リファレンス: OOS テンプレートパラメーター

このセクションでは、サンプルコマンドで使用される OOS パブリックテンプレートのパラメーターをリストアップします。

ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup

パラメーター

説明

invokeType

タスクのタイプ。有効な値:

  • invoke: ローリングアップデートタスク。

  • rollback: ロールバックタスク。

scalingGroupId

タスクが実行されるスケーリンググループの ID。

scalingConfigurationId

スケーリンググループで有効なスケーリング設定の ID。

imageId

現在のイメージを置き換えるために使用されるイメージの ID。

sourceImageId

ロールバックに使用されるイメージの ID。

OOSAssumeRole

タスクの実行に使用される RAM ロール。デフォルト値:OOSServiceRole。

enterProcess

タスク開始時に中断されるスケーリングプロセス。

exitProcess

タスク終了時に再開する必要があるスケーリングプロセス。

batchNumber

タスク実行時にスケーリンググループ内の ECS インスタンスが分割されるバッチの数。各バッチには少なくとも 1 つの ECS インスタンスが含まれます。

batchPauseOption

タスク実行の一時停止設定。有効な値:

  • Automatic: タスクは一時停止せずに一度に実行されます。

  • FirstBatchPause: 最初のバッチが実行された後、タスクは一時停止します。

  • EveryBatchPause: 各バッチが実行された後、タスクは一時停止します。

sourceExecutionId

ロールバックタスクの実行時における、元のローリングアップデートタスクの実行 ID。

説明

OOS コンソールで、より多くのパラメーターの説明を表示することもできます。たとえば、中国 (杭州) リージョンについては、「ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup」をご参照ください。

ACS-ESS-RollingUpdateByRunCommandInScalingGroup

パラメーター

説明

invokeType

タスクのタイプ。有効な値:

  • invoke: ローリングアップデートタスク。

  • rollback: ロールバックタスク。

scalingGroupId

タスクが実行されるスケーリンググループの ID。

commandType

実行するスクリプトのタイプ。値 RunShellScript はシェルスクリプトを示します。

invokeScript

ローリングアップデートタスクの実行時に ECS インスタンスで実行されるスクリプト。

rollbackScript

ロールバックタスクの実行時に ECS インスタンスで実行されるスクリプト。

OOSAssumeRole

タスクの実行に使用される RAM ロール。デフォルト値:OOSServiceRole。

enterProcess

タスク開始時に中断されるスケーリングプロセス。

exitProcess

タスク終了時に再開する必要があるスケーリングプロセス。

batchNumber

タスク実行時にスケーリンググループ内の ECS インスタンスが分割されるバッチの数。各バッチには少なくとも 1 つの ECS インスタンスが含まれます。

batchPauseOption

タスク実行の一時停止設定。有効な値:

  • Automatic: タスクは一時停止せずに一度に実行されます。

  • FirstBatchPause: 最初のバッチが実行された後、タスクは一時停止します。

  • EveryBatchPause: 各バッチが実行された後、タスクは一時停止します。

sourceExecutionId

ロールバックタスクの実行時における、元のローリングアップデートタスクの実行 ID。

説明

OOS コンソールで、より多くのパラメーターの説明を表示することもできます。たとえば、中国 (杭州) リージョンについては、「ACS-ESS-RollingUpdateByRunCommandInScalingGroup」をご参照ください。

ACS-ESS-RollingUpdateByConfigureOOSPackage

パラメーター

説明

invokeType

タスクのタイプ。有効な値:

  • invoke: ローリングアップデートタスク。

  • rollback: ロールバックタスク。

scalingGroupId

タスクが実行されるスケーリンググループの ID。

packageName

パッケージの名前。

packageVersion

パッケージのバージョン。

action

パッケージを設定するために使用されるメソッド。有効な値:

  • install: パッケージをインストールします。

  • uninstall: パッケージをアンインストールします。

デフォルト値:install。

OOSAssumeRole

タスクの実行に使用される RAM ロール。デフォルト値:OOSServiceRole。

enterProcess

タスク開始時に中断されるスケーリングプロセス。

exitProcess

タスク終了時に再開する必要があるスケーリングプロセス。

batchNumber

タスク実行時にスケーリンググループ内の ECS インスタンスが分割されるバッチの数。各バッチには少なくとも 1 つの ECS インスタンスが含まれます。

batchPauseOption

タスク実行の一時停止設定。有効な値:

  • Automatic: タスクは一時停止せずに一度に実行されます。

  • FirstBatchPause: 最初のバッチが実行された後、タスクは一時停止します。

  • EveryBatchPause: 各バッチが実行された後、タスクは一時停止します。

sourceExecutionId

ロールバックタスクの実行時における、元のローリングアップデートタスクの実行 ID。

説明

OOS コンソールで、より多くのパラメーターの説明を表示することもできます。たとえば、中国 (杭州) リージョンについては、「ACS-ESS-RollingUpdateByConfigureOOSPackage」をご参照ください。