ローリングアップデート機能を使用すると、単一のタスクで複数の Elastic Compute Service (ECS) インスタンスまたは ECI インスタンスの構成をバッチで更新できます。Auto Scaling のローリングアップデート機能を使用して、スケーリンググループ内の `サービス中` 状態の ECS インスタンスまたは ECI インスタンスのイメージを更新したり、スクリプトを実行したり、OOS パッケージをインストールしたりできます。
前提条件
-
スケーリンググループ内の ECS インスタンスまたは ECI インスタンスのイメージを更新する必要がある場合は、必要なイメージを準備します。
-
スケーリンググループ内の ECS インスタンスまたは ECI インスタンスでスクリプトを実行する前に、スクリプトを準備します。
-
スケーリンググループ内の ECS インスタンスまたは ECI インスタンスに OOS パッケージをインストールする必要がある場合は、事前に OOS でパッケージを作成しておく必要があります。詳細については、「ソフトウェアの一括管理」をご参照ください。
サポートされるタスクタイプ
|
タスクタイプ |
説明 |
|
イメージの更新 |
このタスクを使用して、スケーリンググループ内の `サービス中` 状態の ECS インスタンスまたは ECI インスタンスのオペレーティングシステムを更新します。 イメージを更新すると、インスタンス構成のソースに次のように影響します:
説明
ローリングアップデートを使用するか、スケーリング設定でイメージを自動的に更新するかを選択できます。詳細については、「スケーリング設定でのイメージの自動更新との違い」をご参照ください。 |
|
スクリプトの実行 |
1 つ以上の運用保守操作を実行するのに適しています。例:
|
|
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 インスタンスは実行中のままです。次のパラメーターを指定します:
-
スクリプトタイプ。次のスクリプトタイプがサポートされています:
-
Linux シェル:たとえば、
hostnameコマンドを使用してホスト名を表示したり、echo helloコマンドを使用して "hello" を出力したりします。 -
Windows Bat:たとえば、
dir c:\コマンドを使用してディレクトリファイルの一覧を表示します。 -
Windows PowerShell:たとえば、
Get-Servicesコマンドを使用してサービスを表示します。
-
-
実行用スクリプト:更新タスクで実行するスクリプト。
-
ロールバック用スクリプト:ロールバックタスクに使用するデフォルトのスクリプト。
説明このスクリプトはロールバックタスクを作成する際に事前に入力されますが、編集することもできます。
-
-
OOS パッケージのインストール: OOS パッケージ名とバージョンを選択します。
実行バッチ
タスクのバッチ数。スケーリンググループは ECS インスタンスまたは ECI インスタンスをバッチに分割します。各バッチには少なくとも 1 つのインスタンスが含まれている必要があります。たとえば、スケーリンググループに サービス中 状態の ECS インスタンスが 10 個あり、実行バッチ数が 2 の場合、インスタンスはそれぞれ 5 つのインスタンスからなる 2 つのバッチに分割されます。
一時停止ポリシー
-
一時停止なし:タスクは中断せずに完了まで実行されます。
-
最初のバッチ実行完了時に一時停止:最初のバッチが完了するとタスクは中断します。その後、手動で再開する必要があります。後続のバッチは中断しません。
-
各バッチ実行完了時に一時停止:タスクは各バッチの後に中断し、手動で再開する必要があります。
詳細設定
任意。 タスクタイプ を イメージの更新 に設定した場合、タスクが停止するまでに許容されるエラーの最大数を設定できます。このパラメーターを設定しない場合、デフォルト値の 0 が使用されます。これは、1 つでもエラーが発生するとタスクが失敗することを意味します。
-
-
ローリングアップデートタスクの影響を確認し、OK をクリックします。
ローリングアップデートタスクは自動的に開始されます。スケーリンググループとそのインスタンスは次のように影響を受けます:
-
スケーリンググループはスケーリングプロセスを一時停止し、更新中はスケーリングアクティビティに応答しません。更新が完了すると、一時停止されていたプロセスが再開されます。更新前にスケーリングプロセスが手動で一時停止されていた場合、一貫した状態を維持するために一時停止されたままになります。
-
インスタンスはバッチで スタンバイ 状態に移動されます。タスクが完了すると、サービス中 状態に戻されます。
重要スケーリンググループが SLB インスタンスに関連付けられている場合、スタンバイ 状態のインスタンスの重みはゼロに設定され、トラフィックの受信を停止します。
-
-
ローリングアップデートタスクの実行ステータスに基づいてアクションを実行します。
タスク
説明
手順
ローリングアップデートタスクの続行
中断ポリシーが 最初のバッチ実行完了時に一時停止 または 各バッチ実行完了時に一時停止 の場合、タスクは 1 回以上 保留中 (一括停止) 状態になります。アップグレードされたインスタンスが期待どおりであることを確認した場合、タスクを続行します。
-
操作 列で、続行 をクリックします。
-
実行タスクを継続 ダイアログボックスで、OK をクリックします。
ローリングアップデートタスクの完了
ローリングアップデートタスクが失敗すると、保留中(故障停止) 状態になります。その後、タスクを完了するためのアクションを選択する必要があります。
-
操作 列で、詳細 をクリックします。
-
更新に失敗した ECS インスタンスまたは ECI インスタンスを見つけます。操作 列で、再試行、スキップする、または キャンセル をクリックします。
-
再試行 をクリックして、インスタンスでの更新操作を再試行します。
-
スキップする をクリックして、次のインスタンスに進みます。現在のインスタンスのステータスは 完了 に変わります。
重要スキップしたインスタンスは、手動で スタンバイ 状態から移動させる必要があります。
-
キャンセル をクリックして、次のインスタンスに進みます。現在のインスタンスのステータスは 失敗 のままです。
-
ローリングアップデートタスクのキャンセル
ビジネス要件を満たさない場合、ローリングアップデートタスクをキャンセルできます。
操作 列で、 を選択します。
重要タスクをキャンセルした後、一時停止されたスケーリンググループのプロセスを手動で再開する必要があります。また、進行中または失敗した現在のバッチのインスタンスを スタンバイ 状態から移動させる必要があります。
ローリングアップデートタスクのロールバック
待機中 (バッチまたは失敗による中断) のタスク、または最後に実行されたタスクをロールバックできます。
詳細については、「完了したローリングアップデートタスクのロールバック」をご参照ください。
-
ローリングアップデートタスクのロールバック
待機状態 (バッチまたは失敗による中断) のタスク、または最後に実行されたタスクをロールバックして、元のインスタンス構成を復元できます。ローリングアップデートタスクが 待機中 状態の場合、ロールバックが開始される前にタスクは自動的にキャンセルされます。その後、すでに更新されたインスタンスがロールバックされます。
ロールバックできるのはローリングアップデートタスクのみです。ロールバックタスクをロールバックすることはできません。
-
実行タスクリストページで、ロールバックしたいタスクを見つけ、操作 列の ロールバック をクリックします。
-
ロールバックタスクを作成 ダイアログボックスで、ロールバックタスクを設定します。
次の表にパラメーターを示します。
パラメーター
説明
タスク説明
後で識別しやすいように、ロールバックタスクの説明を入力します。
タスクタイプ
タスクタイプは元のタスクタイプと同じで、編集できません。
-
タスクタイプが イメージの更新 の場合、ローリングアップデートタスクで指定したロールバックイメージが自動的に選択されます。別のイメージを選択することもできます。
-
タスクタイプが スクリプトの実行 の場合、ローリングアップデートタスクで指定したロールバックスクリプトが事前に入力されます。このスクリプトは編集できます。
-
タスクタイプが OOS パッケージのインストール の場合、ローリングアップデートタスクで指定したパッケージバージョンが自動的に選択されます。別のバージョンを選択できますが、別のパッケージを選択することはできません。
実行バッチ
タスクのバッチ数。スケーリンググループはインスタンスをバッチに分割します。各バッチには少なくとも 1 つのインスタンスが含まれている必要があります。たとえば、スケーリンググループにサービス中のインスタンスが 10 個あり、バッチ数を 2 に設定した場合、インスタンスはそれぞれ 5 つのインスタンスからなる 2 つのバッチに分割されます。
一時停止ポリシー
-
一時停止なし:タスクは中断せずに完了まで実行されます。
-
最初のバッチ実行完了時に一時停止:最初のバッチが完了するとタスクは中断します。その後、手動で再開する必要があります。
-
各バッチ実行完了時に一時停止:各バッチが完了するとタスクは中断します。各中断の後、タスクを手動で再開する必要があります。
詳細設定
任意。 タスクタイプ を イメージの更新 に設定した場合、タスクが停止するまでに許容されるエラーの最大数を設定できます。
-
-
タスクの作成 をクリックします。
-
ロールバックタスクの影響を確認し、OK をクリックします。
ロールバックタスクは自動的に開始されます。
ローリングアップデートタスクの詳細の表示
ローリングアップデートタスクに関する情報を表示し、リトライやスキップなど、個々のインスタンスに対する操作を実行できます。
-
実行タスクリストページで、表示したいタスクを見つけ、操作 列の 詳細 をクリックします。
-
タスクの基本情報を表示します。
基本情報には、タスクのステータスとタスクタイプが含まれます。タスクタイプが スクリプトの実行 の場合、スクリプトの詳細 をクリックしてスクリプトの内容を表示します。
-
タスク内のインスタンスのリストを表示します。
インスタンスリストには、さまざまな実行状態のインスタンスが表示されます。
-
インスタンスがタスクを完了していない場合、そのインスタンスの操作をスキップまたはキャンセルできます。
-
インスタンスの操作が失敗した場合、操作 列で操作をリトライ、スキップ、またはキャンセルできます。
-
タスクタイプが スクリプトの実行 の場合、結果 列の 詳細の表示 をクリックして、スクリプトの出力を確認します。
リトライ、スキップ、キャンセルの違いは次のとおりです:
-
再試行:インスタンスでの更新操作を再試行します。
-
スキップする:次のインスタンスに進みます。現在のインスタンスのステータスは 完了 に変わります。
重要スキップしたインスタンスは、手動で スタンバイ 状態から移動させる必要があります。
-
キャンセル:次のインスタンスに進みます。現在のインスタンスのステータスは 失敗 のままです。
-
ローリングアップデートのモニタリング設定
異なるスケーリンググループのニーズに基づいて、ローリングアップデートタスクに対して独立したモニタリングとアラートを設定できます。これにより、アラートの詳細を表示し、ローリングアップデートの問題を迅速に解決できます。
-
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 をクリックします。

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