ローリングアップグレードは、複数の Elastic Compute Service (ECS) インスタンスまたは Elastic Container Instances (ECI) の構成を単一のタスクとしてバッチで更新できる機能です。Auto Scaling のローリングアップグレード機能を使用すると、スケーリンググループ内の サービス中 状態の ECS または ECI インスタンスに対して、イメージの更新、スクリプトの実行、または CloudOps Orchestration Service (OOS) パッケージのインストールをバッチで実行できます。
前提条件
スケーリンググループ内の ECS または ECI インスタンスのイメージを更新するには、必要なイメージを準備する必要があります。
スケーリンググループ内の ECS または ECI インスタンスでスクリプトを実行するには、必要なスクリプトを準備する必要があります。
スケーリンググループ内の ECS または ECI インスタンスに OOS パッケージをインストールするには、事前に OOS でパッケージを作成しておく必要があります。詳細については、「バッチでのカスタム拡張機能の管理」をご参照ください。
ローリングアップグレードでサポートされるタスクタイプ
タスクタイプ | 説明 |
イメージの更新 | スケーリンググループ内でサービス中状態にある ECS または ECI インスタンスのオペレーティングシステムを統一的に更新する場合に適しています。 イメージを更新する際、グループのインスタンス構成情報ソースへの影響は次のとおりです:
説明 シナリオに応じて、ローリングアップグレードを使用するか、スケーリング設定でイメージを自動更新するかを選択できます。詳細については、「ローリングアップグレードとスケーリング設定における自動イメージ更新の違い」をご参照ください。 |
スクリプトの実行 | 1 つ以上の O&M 操作を実行する場合に適しています。例:
|
OOS パッケージのインストール | ソフトウェアのバッチでのインストールおよびアンインストールに適しています。 |
スケーリング設定における自動イメージ更新との違い
スケーリング設定における自動イメージ更新:この方法は、アプリケーションが頻繁にリリースされるシナリオに適しており、ECS インスタンスを含むスケーリンググループにのみ適用されます。Auto Scaling コンソールで更新タスクを作成できます。タスクが実行されると、システムは元の ECS インスタンスから自動的にカスタムイメージを作成します。これにより、スケーリンググループで作成されるすべての新しい ECS インスタンスが新しいイメージバージョンを持つことが保証されます。詳細については、「スケーリング設定のイメージを自動的に更新する」をご参照ください。
ローリングアップグレード:この方法は、ECS または ECI インスタンスの構成をバッチで更新する必要があるシナリオに適しています。CloudOps Orchestration Service (OOS) をサポートするリージョンのスケーリンググループにのみ適用されます。この機能を使用して、スケーリンググループ内で サービス中 状態にある既存の ECS または ECI インスタンスのイメージを段階的に新しいバージョンにアップグレードできます。
ローリングアップグレードタスクの作成と実行
ローリングアップグレードタスクを作成して実行する前に、次の点にご注意ください:
この機能は、CloudOps Orchestration Service (OOS) をサポートするリージョンのスケーリンググループでのみ利用できます。
スケーリンググループで進行中のスケーリングアクティビティがあってはなりません。
一度に実行できるローリングアップグレードタスクは 1 つだけです。
Auto Scaling コンソールにログインします。
左側のナビゲーションウィンドウで、[スケーリンググループ] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。
対象のスケーリンググループを見つけ、次のいずれかの方法でスケーリンググループの詳細ページを開きます。
[スケーリンググループ名/ID] 列でスケーリンググループの ID をクリックします。
[操作] 列の [詳細] をクリックします。
詳細ページの上部で、[ローリングアップグレード] タブをクリックします。
[実行タスクの作成] をクリックします。
[実行タスクの作成] ダイアログボックスで、ローリングアップグレードタスクのパラメーターを設定し、[タスクの作成] をクリックします。
次の表に、必要な設定項目を示します。
設定項目
説明
タスクの説明
後で参照できるように、タスクの説明を入力します。
タスクタイプ
イメージの更新:ECS または ECI インスタンスの現在のイメージを置き換えます。パブリックイメージ、カスタムイメージ、共有イメージ、またはマーケットプレイスイメージを選択できます。置き換えプロセス中に ECS または ECI インスタンスは再起動されます。次の情報を指定します:
更新用イメージ:更新タスクに使用するイメージ。
ロールバック用イメージ:ロールバックタスクに使用するデフォルトのイメージ。
説明ロールバックタスクを作成する際、このイメージがデフォルトで選択されますが、他のイメージを選択することもできます。
スクリプトの実行:クラウドアシスタントを使用してスクリプトを実行します。このプロセス中、ECS または ECI インスタンスは停止しません。次の情報を指定します:
スクリプトタイプ。次の 3 種類のスクリプトタイプがサポートされています:
Linux Shell:例:ホスト名を表示する hostname コマンド、または 'hello' を出力する echo hello コマンド。
Windows Bat:例:ディレクトリファイルを表示する dir c:\ コマンド。
Windows PowerShell:例:サービスを表示する Get-Services コマンド。
実行用スクリプト:更新タスクに使用するスクリプト。
ロールバック用スクリプト:ロールバックタスクに使用するデフォルトのスクリプト。
説明ロールバックタスクを作成する際、このスクリプトがデフォルトで入力されますが、スクリプトを編集することもできます。
OOS パッケージのインストール:OOS パッケージ名とバージョンを選択します。
実行バッチ
タスクのバッチ数。スケーリンググループがタスクを実行する際、ECS または ECI インスタンスをいくつかのバッチに分割します。各バッチには少なくとも 1 つの ECS または ECI インスタンスが含まれている必要があります。たとえば、スケーリンググループに サービス中 状態の ECS インスタンスが 10 個あり、このパラメーターを 2 に設定した場合、タスクは 2 つのバッチで実行され、各バッチに 5 つの ECS インスタンスが含まれます。
一時停止ポリシー
一時停止なし:タスクは一度に実行されます。
最初のバッチで一時停止:最初のバッチが完了した後、スケーリンググループはタスクを一時停止します。手動でタスクを再開する必要があります。後続のバッチは一時停止されません。
各バッチで一時停止:各バッチが完了した後、スケーリンググループはタスクを一時停止します。毎回手動でタスクを再開する必要があります。
詳細オプション
オプション。[タスクタイプ] を [イメージの更新] に設定した場合、ローリングアップグレードタスクが停止するまでに許容されるエラーの最大数を設定できます。これを空白のままにすると、デフォルト値は 0 になります。これは、1 つのエラーが発生するとローリングアップグレードタスク全体が失敗することを意味します。
ローリングアップグレードタスクの影響を確認し、[OK] をクリックします。
[OK] をクリックすると、ローリングアップグレードタスクが自動的に開始され、スケーリンググループとその ECS または ECI インスタンスに次の影響があります:
スケーリンググループは、スケーリングアクティビティなどのプロセスを一時停止し、ローリングアップグレード中はそれらに応答しません。アップグレードが完了すると、プロセスは再開されます。アップグレード前に手動でスケーリングプロセスを一時停止した場合、スケーリンググループの状態を維持するためにそれらは一時停止されたままになります。
ECS または ECI インスタンスはバッチで [待機中] 状態に移動されます。実行が完了すると、[サービス中] 状態に復元されます。
重要スケーリンググループが SLB インスタンスに関連付けられている場合、[待機中] 状態の ECS または ECI インスタンスの重みは 0 に設定されます。その結果、インスタンスはサービストラフィックの受信を停止します。
実行ステータスに基づいてローリングアップグレードタスクを管理します。
タスク
説明
手順
ローリングアップグレードタスクの続行
一時停止ポリシーが [最初のバッチで一時停止] または [各バッチで一時停止] の場合、タスクは 1 回以上 [保留中 (バッチ一時停止)] 状態になります。アップグレードされたインスタンスが期待どおりであることを確認した場合、タスクを続行できます。
[操作] 列で、[続行] をクリックします。
[実行タスクの続行] ダイアログボックスで、[OK] をクリックします。
ローリングアップグレードタスクの完了
ローリングアップグレードタスクが失敗した場合、[保留中 (失敗による一時停止)] 状態になります。その後、失敗したインスタンスの操作をリトライ、スキップ、またはキャンセルしてタスクを完了することを選択できます。
[アクション] 列で、[詳細] をクリックします。
実行ステータスが「失敗」の ECS または ECI インスタンスを見つけます。[操作] 列で、[リトライ]、[スキップ]、または [キャンセル] をクリックします。
[リトライ] をクリックして、インスタンスでのローリングアップグレード操作を再試行します。
[スキップ] をクリックして、次のインスタンスでローリングアップグレード操作を実行します。現在のインスタンスの実行ステータスは [成功] と表示されます。
重要スキップされた ECS または ECI インスタンスを [待機中] 状態から手動で削除する必要があります。
[キャンセル] をクリックして、次のインスタンスでローリングアップグレード操作を実行します。現在のインスタンスの実行ステータスは [失敗] と表示されます。
ローリングアップグレードタスクのキャンセル
ローリングアップグレードタスクがビジネス要件を満たさない場合は、キャンセルできます。
[操作] 列で、 を選択します。
重要タスクをキャンセルした後、一時停止されたスケーリンググループプロセスを手動で再開し、処理中または失敗した現在のバッチのインスタンスを [待機中] 状態から削除する必要があります。
ローリングアップグレードタスクのロールバック
保留中 (バッチ一時停止または失敗による一時停止) のタスク、または最後に完了したタスクをロールバックできます。
詳細については、「完了したローリングアップグレードタスクのロールバック」をご参照ください。
完了したローリングアップグレードタスクのロールバック
問題が発生した場合、保留中 (バッチ一時停止または失敗による一時停止) のローリングアップグレードタスク、または最後に完了したタスクをロールバックして、インスタンスの構成を復元できます。ローリングアップグレードタスクが [保留中] 状態の場合、ロールバックタスクが実行される前にタスクは自動的にキャンセルされます。その後、すでに更新されたインスタンスがロールバックされます。
ロールバックできるのはローリングアップグレードタスクのみです。ロールバックタスクをロールバックすることはできません。
実行タスクリストページで、管理したいタスクを見つけます。[操作] 列で、[ロールバック] をクリックします。
[ロールバックタスクの作成] ダイアログボックスで、ロールバックタスクのパラメーターを設定します。
次の表にパラメーターを示します。
リージョン
説明
タスクの説明
後で参照できるように、ロールバックタスクの説明を入力します。
タスクタイプ
これは元のタスクのタスクタイプと同じで、編集できません。
タスクタイプが [イメージの更新] の場合、ローリングアップグレードタスクを作成したときに入力したロールバック用のイメージが自動的に選択されます。他のイメージを選択することもできます。
タスクタイプが [スクリプトの実行] の場合、ローリングアップグレードタスクを作成したときに入力したロールバック用のスクリプトが自動的に入力されます。スクリプトを編集することもできます。
タスクタイプが [OOS パッケージのインストール] の場合、ローリングアップグレードタスクを作成したときに選択した OOS パッケージのバージョンが自動的に選択されます。別のバージョンを選択できますが、他のパッケージを選択することはできません。
実行バッチ
タスクのバッチ数。スケーリンググループがタスクを実行する際、ECS または ECI インスタンスをいくつかのバッチに分割します。各バッチには少なくとも 1 つの ECS または ECI インスタンスが含まれている必要があります。たとえば、スケーリンググループにサービス中のインスタンスが 10 個あり、このパラメーターを 2 に設定した場合、タスクは 2 つのバッチで実行され、各バッチに 5 つのインスタンスが含まれます。
一時停止ポリシー
一時停止なし:タスクは一度に実行されます。
最初のバッチで一時停止:最初のバッチが完了した後、スケーリンググループはタスクを一時停止します。手動でタスクを再開する必要があります。
各バッチで一時停止:各バッチが完了した後、スケーリンググループはタスクを一時停止します。毎回手動でタスクを再開する必要があります。
詳細オプション
オプション。[タスクタイプ] を [イメージの更新] に設定した場合、ローリングアップグレードタスクが停止するまでに許容されるエラーの最大数を設定できます。
[タスクの作成] をクリックします。
ロールバックタスクの影響を確認し、[OK] をクリックします。
[OK] をクリックすると、ロールバックタスクが自動的に開始されます。
ローリングアップグレードタスクの詳細の表示
ローリングアップグレードタスクの情報を表示し、特定の ECS または ECI インスタンスに対してリトライやスキップなどの操作を実行できます。
実行タスクリストページで、表示したいタスクを見つけます。[操作] 列で、[詳細] をクリックします。
タスクの基本情報を表示します。
タスクの基本情報には、タスクのステータスとタスクタイプが含まれます。タスクタイプが [スクリプトの実行] の場合、[スクリプトの詳細] をクリックしてスクリプトの内容を表示します。
実行されたインスタンスのリストを表示します。
実行されたインスタンスのリストには、さまざまな実行状態のインスタンスが表示されます。
ECS または ECI インスタンスの実行が完了していない場合、そのインスタンスの操作をスキップまたはキャンセルできます。
ECS または ECI インスタンスの実行に失敗した場合、[操作] 列で操作をリトライ、スキップ、またはキャンセルできます。
タスクタイプが [スクリプトの実行] の場合、[出力] 列の [表示] をクリックしてスクリプトの出力を表示します。
リトライ、スキップ、キャンセルの違いは次のとおりです:
[リトライ] をクリックして、インスタンスのローリングアップグレード操作を再試行します。
[スキップ] をクリックして、次のインスタンスに進みます。現在のインスタンスの実行ステータスは [成功] に変わります。
重要スキップされた ECS または ECI インスタンスを [待機中] 状態から手動で削除する必要があります。
[キャンセル] をクリックして、次のインスタンスに進みます。現在のインスタンスの実行ステータスは [失敗] に変わります。
ローリングアップグレードのモニタリングとアラートの設定
異なるスケーリンググループの要件に基づいて、ローリングアップグレードタスクに独立したモニタリングとアラートを設定できます。これにより、アラートの詳細を表示して、ローリングアップグレードの問題に迅速に対応できます。
CloudMonitor コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[システムイベント] ページで、フィルター条件を設定し、[検索] をクリックして、指定したスケーリンググループのローリングアップグレード失敗イベントをクエリします。
たとえば、イベントレベルを [重大] に設定し、次のキーワードを入力します:
(ACS-ESS-RollingUpdateByConfigureOOSPackage or ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup or ACS-ESS-RollingUpdateByRunCommandInScalingGroup or ACS-ESS-RollingUpdateByUpdateContainerGroup) and ${your_scaling_group_id}説明{your_scaling_group_id}を実際のスケーリンググループ ID (例:asg-bp180y8dj5eku2j4****) に置き換えてください。
[アラートルールとして保存] をクリックします。
[イベントアラートの作成/変更] パネルで、次のパラメーターを設定し、[OK] をクリックします。

左側のナビゲーションウィンドウで、 を選択します。
アラート履歴ページで、特定のアラートの詳細を表示できます。

> [キャンセル]