スケーリング設定では、スケーリンググループ内の Elastic Compute Service (ECS) インスタンスを作成する際に使用するイメージを指定します。アプリケーションが変更された場合、新しいインスタンスが最新のソフトウェアおよび構成で起動できるよう、イメージを更新してください。
イメージ更新タスクを作成すると、Auto Scaling はソース ECS インスタンスからカスタムイメージを生成します。この操作にはスナップショット課金が発生します。詳細については、「スナップショットの課金」をご参照ください。
この機能は、ECS 型のスケーリンググループにのみ適用されます。
更新方法
Auto Scaling では、イメージを更新するための以下の 3 つの方法を提供しています。
| 方法 | 推奨される利用シーン | 処理内容 |
|---|---|---|
| 手動更新 | 更新タイミングをユーザーが完全に制御する安定した環境 | コンソールから新しいイメージを選択して、スケーリング設定内のイメージを置き換えます。 |
| 自動更新(イメージ更新タスク) | 定期的かつ反復可能なスケジュールでデプロイメントを実施する場合 | Auto Scaling がソース ECS インスタンスからカスタムイメージを生成し、定義されたスケジュールに従ってスケーリング設定内のイメージを置き換えます。 |
| ローリング更新 | すでに実行中のインスタンスを更新する場合 | スケーリンググループ内の既存インスタンスのイメージを置き換えます。詳細については、「ローリング更新」をご参照ください。 |
スケーリング設定内のイメージを更新しても、更新後に作成される新規インスタンスにのみ影響します。既存のインスタンスは、現在使用しているイメージを引き続き使用します。既存インスタンスを更新するには、ローリング更新をご利用ください。
手動更新と自動更新の比較
スケーリング設定でイメージ A を使用しているスケーリンググループを例に考えます。このグループで新しいアプリケーションバージョンを導入するため、イメージ B をデプロイする必要があります。
| ステップ | 手動更新 | 自動更新 |
|---|---|---|
| 1 | ECS インスタンスからイメージ B を作成します。「スナップショットからカスタムイメージを作成する」または「インスタンスからカスタムイメージを作成する」をご参照ください。 | イメージ更新タスクを作成します。Auto Scaling がソース ECS インスタンスからイメージ B を自動生成します。 |
| 2 | スケーリング設定内でイメージ A をイメージ B に置き換えます。 | Auto Scaling がスケーリング設定内でイメージ A をイメージ B に自動的に置き換えます。 |
手動によるイメージの更新
-
Auto Scaling コンソール にログインします。
-
左側のナビゲーションウィンドウで、[スケーリンググループ] をクリックします。
-
上部のナビゲーションバーで、リージョンを選択します。
-
対象のスケーリンググループを見つけ、[操作] 列の [詳細] をクリックします。
-
詳細ページの上部で、[スケーリング設定] タブをクリックします。
-
対象のスケーリング設定を見つけ、[操作] 列の [イメージの編集] をクリックします。
説明スケーリング設定が [アクティブ] または [非アクティブ] のいずれの状態であっても、イメージの変更は可能です。
-
[イメージの編集] ダイアログボックスで、イメージタイプとイメージを選択し、[OK] をクリックします。
利用可能なイメージタイプ: [パブリックイメージ]、[カスタムイメージ]、および [共有イメージ]。詳細については、「概要」をご参照ください。
スケーリング設定一覧に戻ります。[イメージ] 列に新しいイメージ名が表示されます。
自動によるイメージの更新
イメージ更新タスクは、以下のプロセスを自動化します:Auto Scaling がソース ECS インスタンスからカスタムイメージを生成し、1 つ以上のスケーリング設定内のイメージを置き換えます。このカスタムイメージには、ソース ECS インスタンスのシステムディスクからのみデータが含まれます。
前提条件
イメージ更新タスクは CloudOps Orchestration Service (OOS) を介して実行されます。OOS には、ECS および Auto Scaling リソースに対する操作権限が必要です。以下のいずれかの条件を満たす必要があります。
-
現在の Alibaba Cloud アカウントが、ECS や Auto Scaling などのクラウドリソースに対する操作権限を持っていること。
-
OOS 用に、ECS や Auto Scaling などのクラウドリソースに対する操作権限を持つ Resource Access Management (RAM) ロールが作成済みであること。詳細については、「OOS への RAM 権限の付与」をご参照ください。
説明RAM ロールに
AliyunECSFullAccessおよびAliyunESSFullAccessポリシーをアタッチしてください。
イメージ更新タスクの作成
-
Auto Scaling コンソール にログインします。
-
左側のナビゲーションウィンドウで、[スケーリンググループ] をクリックします。
-
上部のナビゲーションバーで、リージョンを選択します。
-
対象のスケーリンググループを見つけ、[操作] 列の [詳細] をクリックします。
-
詳細ページの上部で、[スケーリング設定] タブをクリックします。
-
[イメージ更新タスク] タブをクリックします。
-
[イメージの更新] をクリックします。
-
[イメージの更新] ダイアログボックスで、以下のパラメーターを設定します。
パラメーター
説明
インスタンス
ソース ECS インスタンス。Auto Scaling はこのインスタンスからカスタムイメージを生成し、スケーリング設定内のイメージを置き換えます。このカスタムイメージには、システムディスクからのみデータが含まれます。
カスタムイメージ名
カスタムイメージの名前。Auto Scaling は、
_on_{{ ACS::ExecutionId }}_at_{{ Acs::CurrentDate }}の形式でサフィックスを追加します。ここで、ACS::ExecutionIdは OOS テンプレートの実行 ID、Acs::CurrentDateはタスク実行時刻です。[構成ソース]
デフォルト値:[スケーリング設定]。
[スケーリング設定 ID]
更新対象のスケーリング設定。複数のスケーリング設定を選択できます。
[実行時刻]
タスクを実行するタイミング。選択肢:
-
[今すぐ] — タスク作成直後に即時実行します。
-
[スケジュール] — 指定した時刻に実行します。実行時刻を分単位で指定します。
-
[定期的] -- 繰り返しスケジュールで実行します。[繰り返し]、[開始時刻]、および[有効期限]の値を指定します。
権限ソース
OOS がタスク実行時に使用する権限。選択肢:
-
[現在のアカウントの既存権限を使用] — ご利用の Alibaba Cloud アカウントの権限を使用します。
-
[RAM ロールを指定し、そのロールに付与された権限を使用] — OOS が引き受ける RAM ロールを選択します。
説明[実行時刻] を [スケジュール] または [定期] に設定した場合、RAM ロールの指定が必須です。[現在のアカウントの既存権限を使用] は、スケジュールまたは定期実行のタスクでは利用できません。
定期タスクの例
2020 年 8 月 21 日から 8 月 25 日までの毎日 02:00:00 にイメージ更新タスクを実行する場合:
-
[繰り返し]:毎月
-
毎月 21 日から 25 日まで実行
-
[開始時刻]:02:00:00
-
[有効期限]:2020 年 8 月 26 日 00:00:00
-
-
[OK] をクリックします。
結果の確認
タスク実行後、以下の手順で結果を確認します。
-
[イメージ更新タスク] タブで、タスクのステータスおよびソース ECS インスタンス情報を確認します。
-
[スケーリング設定] タブで、[イメージ] 列を確認します。イメージ名が
UpdateImage_from_<ソース ECS インスタンス ID>_on_<イメージ更新タスク ID>の形式になっている場合、更新は成功しています。