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

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

最終更新日:May 04, 2026

Alibaba Cloud CLI は Alibaba Cloud API 上に構築された柔軟で拡張可能な管理ツールです。API を呼び出して Alibaba Cloud リソースを管理できます。このトピックでは、Alibaba Cloud CLI を使用してローリングアップデートを実行する方法について説明します。

前提条件

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

  • ECS インスタンスを含むスケーリンググループがあること。

  • スケーリンググループ内の ECS インスタンスのイメージを更新するには、そのグループがスケーリング設定を使用している必要があります。

  • ECS インスタンスに OOS パッケージをインストールするには、事前に CloudOps Orchestration Service (OOS) でパッケージを作成しておく必要があります。詳細については、「カスタム拡張機能の一括管理」をご参照ください。

背景情報

ローリングアップデートを使用すると、単一のタスクで複数の ECS インスタンスをバッチ単位で更新できます。詳細については、「ローリングアップデート」をご参照ください。

操作手順

このトピックでは、Alibaba Cloud CLI を使用してスケーリンググループ内の ECS インスタンスのイメージを更新し、ECS インスタンスでスクリプトを実行し、ECS インスタンスに OOS パッケージをインストールする方法を説明します。

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

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

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

    この例では、clitest という名前の RAM ユーザーを作成します。詳細については、「RAM ユーザーの作成」をご参照ください。

    1. 左側のナビゲーションウィンドウで、アイデンティティ > ユーザー を選択します。

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

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

      以下の表は、設定例を示しています。

      パラメーター

      ログイン名

      example@sample.com

      表示名

      example

      アクセスモード

      Using permanent AccessKey to access を選択します。

      RAM ユーザー用の AccessKey ペアが自動的に生成され、API オペレーションを呼び出すか、他の開発ツールを使用して Alibaba Cloud リソースにアクセスできます。

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

      説明

      AccessKey Secret は作成時のみ表示され、後から取得することはできません。AccessKey Secret は安全に保管してください。AccessKey ペアを紛失または漏洩した場合は、新しいものを作成してください。

  3. RAM ユーザーにリソース管理の権限を付与します。

    1. 左側のナビゲーションウィンドウで、アイデンティティ > ユーザー を選択します。

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

    3. Add Permissions ページで、ローリングアップデートに必要な権限を選択し、Grant permissions をクリックします。

      以下の表は、設定例を示しています。

      パラメーター

      リソース

      デフォルト値の Account をそのまま使用します。

      権限付与の対象

      デフォルト値の example@sample.com をそのまま使用します。

      ポリシー

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

      • AliyunECSFullAccess:ECS インスタンスを含む ECS リソースを管理する権限を付与します。

      • AliyunESSFullAccess:スケーリンググループを含む Auto Scaling リソースを管理する権限を付与します。

      • AliyunOOSFullAccess:CloudOps Orchestration Service (OOS) の実行回数を含む OOS リソースを管理する権限を付与します。

      • AliyunOSSFullAccess:バケットを含む Object Storage Service リソースを管理する権限を付与します。

ステップ 2:Alibaba Cloud CLI の設定と検証

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

  1. ローカルマシンでコマンドラインツールを開きます。

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

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

      aliyun configure
    2. プロンプトに従って、AccessKey ID や AccessKey Secret などの情報を入力します。

      cli-config

  3. 次のコマンドを実行して Alibaba Cloud CLI の設定を検証します。

    aliyun ecs DescribeRegions

    このコマンドはサポートされているリージョンを照会します。リージョンのリストが返された場合、設定は正しいです。次の図は、出力例を示しています。cli-example

ステップ 3:ローリングアップデートの実行

このステップでは、スケーリンググループ内の ECS インスタンスのイメージを更新し、ECS インスタンスでスクリプトを実行し、ECS インスタンスに OOS パッケージをインストールするためのサンプルコマンドを提供します。

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

    サンプルコードで使用されている 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 -h および ifconfig を実行し、インスタンスのディスクおよびネットワーク構成情報を表示します。

      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 で作成した 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. 実行の詳細を表示します。

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

    1. 返された情報からローリングアップデートの実行 ID を見つけます。

      次の図は、実行 ID の例を示しています。exec-id

    2. 次の Alibaba Cloud CLI コマンドを実行して、実行の詳細を表示します。

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

      次の図は、実行の詳細例を示しています。exec-outputs

ロールバック:例外処理

ローリングアップデート中に例外が発生した場合、または以前の構成に戻す必要がある場合は、ロールバックを実行できます。ロールバックにより、スケーリンググループ内の ECS インスタンスの元の構成が復元されます。このステップでは、ローリングアップデートをロールバックするためのサンプルコマンドを提供します。

  1. 返された情報からローリングアップデートの実行 ID を見つけます。

    次の図は、実行 ID の例を示しています。exec-id

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

    サンプルコードで使用されている 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 -h および ifconfig を使用しています。必要に応じてスクリプトを置き換えてください。

      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\"
            }"
    • この例では、ECS インスタンスに WordPress パッケージの以前のバージョンをインストールすることで、OOS パッケージのインストールをロールバックします。

      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 で説明した方法を使用して、結果や出力などの実行の詳細を表示できます。

テンプレートパラメーター

このセクションでは、例で使用されているパブリックテンプレートのパラメーターについて説明します。

表 1. ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup パラメーター

パラメーター

説明

invokeType

タスクタイプ。有効値:

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

  • rollback:ロールバック。

scalingGroupId

対象のスケーリンググループの ID。

scalingConfigurationId

スケーリンググループ内のアクティブなスケーリング設定の ID。

imageId

更新用の新しいイメージの ID。

sourceImageId

ロールバック時に復元する元のイメージの ID。

OOSAssumeRole

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

enterProcess

タスク開始時に一時停止するスケーリングプロセス。

exitProcess

タスク完了時に再開するスケーリングプロセス。

batchNumber

このタスクで ECS インスタンスを分割するバッチ数。各バッチには少なくとも 1 つのインスタンスを含める必要があります。

batchPauseOption

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

  • Automatic:一時停止せずに連続して実行します。

  • FirstBatchPause:最初のバッチ完了後に一時停止します。

  • EveryBatchPause:各バッチ完了後に一時停止します。

sourceExecutionId

ロールバックする元の実行の ID。このパラメーターはロールバックに必須です。

説明

パラメーターの詳細については、OOS コンソールにもアクセスできます。中国 (杭州) リージョンのパラメーター説明を表示するには、「ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup」をご参照ください。

表 2. ACS-ESS-RollingUpdateByRunCommandInScalingGroup パラメーター

パラメーター

説明

invokeType

タスクタイプ。有効値:

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

  • rollback:ロールバック。

scalingGroupId

対象のスケーリンググループの ID。

commandType

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

invokeScript

ローリングアップデート中に ECS インスタンスで実行するスクリプト。

rollbackScript

ロールバック中に ECS インスタンスで実行するスクリプト。

OOSAssumeRole

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

enterProcess

タスク開始時に一時停止するスケーリングプロセス。

exitProcess

タスク完了時に再開するスケーリングプロセス。

batchNumber

このタスクで ECS インスタンスを分割するバッチ数。各バッチには少なくとも 1 つのインスタンスを含める必要があります。

batchPauseOption

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

  • Automatic:一時停止せずに連続して実行します。

  • FirstBatchPause:最初のバッチ完了後に一時停止します。

  • EveryBatchPause:各バッチ完了後に一時停止します。

sourceExecutionId

ロールバックする元の実行の ID。このパラメーターはロールバックに必須です。

説明

パラメーターの詳細については、OOS コンソールにもアクセスできます。中国 (杭州) リージョンのパラメーター説明を表示するには、「ACS-ESS-RollingUpdateByRunCommandInScalingGroup」をご参照ください。

表 3. ACS-ESS-RollingUpdateByConfigureOOSPackage パラメーター

パラメーター

説明

invokeType

タスクタイプ。有効値:

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

  • rollback:ロールバック。

scalingGroupId

対象のスケーリンググループの ID。

packageName

パッケージ名。

packageVersion

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

action

パッケージに対して実行する操作。有効値:

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

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

デフォルト値:install。

OOSAssumeRole

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

enterProcess

タスク開始時に一時停止するスケーリングプロセス。

exitProcess

タスク完了時に再開するスケーリングプロセス。

batchNumber

このタスクで ECS インスタンスを分割するバッチ数。各バッチには少なくとも 1 つのインスタンスを含める必要があります。

batchPauseOption

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

  • Automatic:一時停止せずに連続して実行します。

  • FirstBatchPause:最初のバッチ完了後に一時停止します。

  • EveryBatchPause:各バッチ完了後に一時停止します。

sourceExecutionId

ロールバックする元の実行の ID。このパラメーターはロールバックに必須です。

説明

パラメーターの詳細については、OOS コンソールにもアクセスできます。中国 (杭州) リージョンのパラメーター説明を表示するには、「ACS-ESS-RollingUpdateByConfigureOOSPackage」をご参照ください。