リージョン MIG のターゲット分配形態

デフォルトでは、リージョン マネージド インスタンス グループ(MIG)は、選択されたゾーンにマネージド インスタンスを均等に分配します。ただし、すべてのゾーンでは使用できないハードウェアや選択したゾーンで一時的に使用できなくなる可能性があるハードウェアが必要な場合、またゾーン予約の使用を優先する場合は、別の分配方法が必要になります。

リージョン MIG がリージョン内の選択されたゾーンマネージド インスタンスを分配する方法を構成するには、MIG のターゲット分配形態を設定します。次のオプションが用意されています。

  • 均等(デフォルト): 選択されたゾーン全体で同じ数のマネージド インスタンスが維持されるように、VM インスタンスの作成と削除をスケジューリングします。2 つのゾーン間でマネージド インスタンス数が 2 個以上異なる場合でも均等に分配されます。これは、高可用性サービスを提供するワークロードに適しています。

  • バランス: リソースの取得を優先します。選択されたゾーンでリソースをできるだけ均等に分配してゾーン障害の影響を最小限に抑えながら、ゾーン内の VM をスケジューリングします。自動スケーリングを必要としない高可用性サービスを提供するワークロードまたはバッチ ワークロードに適しています。

  • 任意: リクエストされた数の VM を現在のリソース制約内で用意し、未使用のゾーン予約を最大限利用できるように、VM インスタンスの作成時にゾーンを選択します。高可用性が不要なバッチ ワークロードに適しています。

ワークロード要件と必要な MIG 機能に応じてオプションを選択します。比較表ユースケース分配形態の仕組みをご覧ください。

形態の比較

次の表では、ターゲット分配形態ごとに、対象のワークロード、目的、マネージド インスタンスの分配、機能サポート、リソースが利用できない場合の MIG の動作の簡単な説明を示します。

EVEN(デフォルト) BALANCED ANY
対象のワークロード 高可用性サービスを提供するワークロード(ステートレスまたはステートフル) 高可用性サービスを提供するワークロード(ステートレスまたはステートフル)

高可用性バッチ ワークロード
バッチ ワークロード
目的 各ゾーンのリソースに十分な可用性があることを全体に、ゾーンレベルの障害の影響を最小限に抑えます。 ゾーンレベルの障害の影響を最小限に抑え、各ゾーンのリソースの可用性を可能な限り考慮します。 リソースの取得と未使用の予約の使用を優先します。
ゾーン間のマネージド インスタンスのターゲット分配 均等。

2 つのゾーン間でマネージド インスタンスの数が均等になります。リソースの可用性は考慮されません。*

ゾーン容量の制約がある場合、一部のマネージド インスタンスが起動しない可能性があります。
可能限り均等。

ゾーン間での VM の数の違いは、現在のリソースの空き状況によって異なります。

リソースが利用可能であれば、分配は EVEN と似ています。リソースの制約が最も厳しい場合、分配形態は「任意」になることがあります。
任意。

ゾーンごとに、異なるマネージド インスタンスの数を指定できます(「すべて」や「なし」も含む)。
MIG 機能のサポート EVEN(デフォルト) BALANCED ANY
自動スケーリング
カナリア更新
プロアクティブなインスタンスの再分配 不適用
予約 各ゾーンで最大限に利用できます。

予約はインスタンスの分配方法に影響しません。
各ゾーンで最大限に利用できます。

予約を使用すると、「バランス」状態に近づきやすくなります。
リージョン内で最大限に利用できます。

リージョン内で予約の使用が優先されます。
インスタンス テンプレート
ハードウェア要件(マシンタイプ、CPU、GPU、既存のディスク)
選択したハードウェアは、選択したすべてのゾーンで使用可能である必要があります。 選択したハードウェアは、少なくとも 1 つの選択したゾーンで使用可能である必要があります。 選択したハードウェアは、少なくとも 1 つの選択したゾーンで使用可能である必要があります。
障害対応 EVEN(デフォルト) BALANCED ANY
ゾーン内のリソースが一時的に利用できない 影響を受ける

マネージド インスタンス数の少ないゾーンに新しいマネージド インスタンスを作成します。成功するまで、リソースを使用できないゾーンで VM インスタンスの作成を再試行します。

リスク: リソースが限られたゾーンには VM を作成できません。
耐性あり

リソースが利用できるゾーンで新しいマネージド インスタンスを作成し、インスタンスをゾーン間で可能な限り均等に分配します。

リスク: VM がゾーン間で均等に分配されないことがあります。
耐性あり

リソースが利用できるゾーン内に新しいマネージド インスタンスを作成し、未使用の予約を最大限使用します。

リスク: VM がゾーン間で均等に分配されないことがあります。
ゾーンレベルの障害 耐性あり

正常なゾーン内のインスタンスは引き続き稼働しているため、影響は最小限に抑えられます。

ゾーンが 1 つなくなっても処理を継続できるように、追加のインスタンスをプロビジョニングすることで、影響を最小限に抑えることができます。
耐性あり

正常なゾーン内のインスタンスは引き続き稼働しているため、影響は最小限に抑えられます。

ゾーンが 1 つなくなっても処理を継続できるように、追加のインスタンスをプロビジョニングすることで、影響を最小限に抑えることができます。
影響を受ける

障害が発生したゾーンに大半またはすべてのインスタンスが集中している場合、停止する可能性があります。

*負荷分散と自動スケーリングを構成していて、ゾーンに障害が発生した場合、負荷が増大するゾーンで VM が増加する可能性があります。プロアクティブなインスタンスの再分配を無効にして、ゾーンでインスタンスの追加や削除を行った場合、分配が不均等になる可能性があります。

ユースケース

機能サポートを確認して、ユースケースに応じて分配形態を選択します。

均等な分配でワークロードの復元力を優先する

パフォーマンスを低下させずにゾーンレベルの障害に対応する必要のある高可用性アプリケーションの場合は、ターゲット分配形態に EVEN を使用して、オーバープロビジョニングのグループサイズを指定します。グループ内のインスタンスをオーバープロビジョニングすると、ワークロードをゾーンレベルの障害から保護できます。

ワークロードに応じて、オートスケーラーを作成して負荷の増減に合わせてインスタンスを自動的に追加または削除することを検討してください。

EVEN のターゲット分配形態の詳細については、ターゲット形態の比較EVEN ターゲット形態の仕組みをご覧ください。

リージョン MIG に高可用性ワークロードをデプロイする場合の詳細については、以下のセクションをご覧ください。

均等な分配でリソースの取得を調整する

高可用性のワークロードまたはバッチ ワークロードを実行するときに、リージョン内の選択したゾーンで VM インスタンスを均等に分配してリソースの取得を調整する必要がある場合は、ターゲット分配形態に BALANCED を使用します。

BALANCED 形態は、リソースの取得を優先し、リソースを利用できるゾーンにインスタンスを作成します。ゾーン間で可能な限り均等にインスタンスを分配して、ゾーンレベルの障害の影響を最小限に抑えます。

ゾーンレベルの障害から保護する必要がないバッチ ワークロードを実行する場合は、ターゲット分配形態に ANY を使用します。ANY 形態は、リソースの取得およびゾーン予約の使用を優先します。

分配形態を BALANCED または ANY に設定すると、特定のゾーンで特定のハードウェアが使用できるかどうかを手動で検証する必要はありません。リージョン内のすべてのゾーンを選択できます。グループにより、必要なハードウェアが利用可能なゾーンにインスタンスが自動的にデプロイされます。

BALANCED のターゲット分配形態の詳細については、ターゲット形態の比較BALANCED ターゲット分配形態の仕組みをご覧ください。

リソースの取得を優先する

バッチ ワークロードでゾーンレベルの障害に対するワークロードの復元よりも、処理に必要なインスタンスの数の取得のほうが重要な場合は、ターゲット分配形態に ANY を使用します。

予約が一致する場合、ターゲット分配形態を ANY に設定し、一致する予約を含むゾーンの使用を優先します。インスタンス テンプレートで予約を構成する方法については、予約の仕組みをご覧ください。

BALANCED ターゲット分配形態と同様に、バッチ ワークロードで次のいずれかの機能が必要な場合は、ANY 形態が有用です。

  • 特殊なハードウェアを備えた VM(特定の CPU プラットフォームや GPU モデルなど)。このグループは、リソースの可用性に応じて、また予約が一致するゾーンの設定に従って、リクエストされたハードウェアをサポートするゾーンにインスタンスをデプロイします。
  • プリエンプティブル VM。プリエンプティブル容量を利用できるゾーンを調べる必要はありません。プリエンプティブル容量を利用できるゾーンに自動的にデプロイされます。
  • コア数の多い VM。予約が一致するゾーンの設定に従って、使用可能な場所でサイズの大きいマシンが取得されます。

特定のゾーンで特定のハードウェアが利用可能かどうかを手動で検証する必要はありません。リージョン内のすべてのゾーンを選択できます。グループにより、必要なハードウェアが利用可能なゾーンにインスタンスが自動的にデプロイされます。

他のワーカーに影響を与えることなく、完了したジョブのバッチワーカー インスタンスを選択して削除できます。ターゲット分配形態が EVEN で、プロアクティブな再分配を行うグループとは異なり、ANY の分配形態が設定されているグループは均等な分配を必要としないため、再分配は行われません。

すべてのターゲット分配形態の詳細については、ターゲット分配形態の比較ANY ターゲット分配形態の仕組みをご覧ください。

仕組み

このセクションでは、次の状況でターゲット分配形態がどのように機能するかについて説明します。

  • MIG のサイズを変更する場合
  • ゾーンでリソースが一時的に利用できない場合
  • ゾーン障害が発生した場合

EVEN 分配形態

ターゲット分配形態が EVEN に設定され、プロアクティブな再分配が有効になっている場合、リソースの可用性に関係なく、リージョン MIG 内のマネージド インスタンスの数は 2 つのゾーン間で均等になります。ただし、ゾーンに実際の VM をプロビジョニングするリソースがない場合、マネージド インスタンスは実行されません。

EVEN 分配形態の MIG のサイズ変更

ターゲット分配形態が EVEN のグループは、ゾーン全体でマネージド インスタンスの数を均等にするため、インスタンスを追加または削除するゾーンを選択します。

たとえば、次の図はグループがマネージド インスタンスを追加または削除する方法を示しています。

「均等」ターゲット分配形態では、ゾーン全体でインスタンスの追加と削除が行われます。
EVEN 分配形態の MIG のサイズ変更

一時的に利用できないリソースの影響

グループを作成するか、インスタンス数を増やすときに、ゾーンでリソースが一時的に使用できない場合があります。たとえば、プリエンプティブル インスタンスや特殊なハードウェアを限定的にリクエストしたときに、こうしたリソースが利用できないことがあります。

ゾーン間でインスタンスの均等な分配を維持するため、リソースが一時的に利用できないゾーンで VM インスタンスの作成が試行されます。最終的に、リソースが使用可能になった後、このグループは実行中のすべての VM インスタンスを取得することになります。

次の図は、リソースを一時的に使用できないためにゾーンがリクエストに対応できない場合の動作を示しています。

ターゲット分配形態が「均等」に設定されているときに VM が使用できない場合、利用可能になるまで、自動修復により VM の作成が継続的に試行されます。
分配形態が EVEN の MIG でリソースが一時的に利用できない場合の影響

ゾーンレベルの障害の影響

ターゲット分配形態に EVEN(または BALANCED)を使用すると、追加のインスタンスをプロビジョニングして、ゾーンレベルの障害の影響を最小限に抑えることができます。

ターゲット分配形態に EVEN(または BALANCED)を使用して 3 つのゾーンにリージョン MIG をデプロイしている場合、ゾーンレベルの障害が発生すると、インスタンスの 1/3 が失われる可能性があります。より多くの VM をプロビジョニングして、その 2/3 で負荷が処理されるようにすると、ゾーンレベルの障害が発生した場合にも十分な容量を確保できます。

たとえば、3 つのゾーンでリクエストを処理するために 8 個のインスタンスが必要な場合、ゾーンレベルの障害からワークロードを保護するには、12 個のインスタンスを含むリージョン グループを作成する必要があります。次の図は、1 つのゾーンで障害が発生した場合の動作を示しています。

ターゲット分配形態が「均等」の場合、MIG をオーバープロビジョニングすると、ゾーンで障害が発生しても十分な数の VM が維持されます。
分配形態が EVEN の MIG に対するゾーン障害の影響

EVEN のターゲット分配形態では、このような状況でも自動スケーリングと負荷分散が機能します。ゾーンレベルで障害が発生した場合、ロードバランサは残りの 2 つのゾーンのインスタンスにトラフィックを送信し、これらのゾーンで障害が発生したゾーンからのトラフィックが処理されます。

リージョン MIG がオートスケーラーと連携する仕組みについては、リージョン マネージド インスタンス グループの自動スケーリングをご覧ください。

BALANCED 分配形態

ターゲット分配形態が BALANCED のリージョン MIG は、ゾーン間での均等な分配が行われない可能性があります。特に、リクエストされたリソースがゾーンで利用されない場合、このような状況が発生します。

MIG は、リソースが利用可能なゾーンで VM を作成し、リクエストされた VM のプロビジョニングを優先します。リソースが利用可能であれば、分配は EVEN と似ています。リソースの制約が最も厳しい場合、分配形態は「任意」になることがあります。

BALANCED 分配形態の MIG のサイズ変更

グループサイズを大きくする

BALANCED ターゲット分配形態の場合、MIG のインスタンス テンプレートで指定したリソースの現在の可用性に基づいて、新しいインスタンスが選択されます。

  • 選択したすべてのゾーンで十分なリソースがある場合、EVEN ターゲット分配形態と同じ方法でゾーン間で均等な分配が維持されます。
  • ゾーンの容量の制約で均等な分配が実現できない場合は、リソースを利用できるゾーンにインスタンスが作成され、可能な限り均等に分配されるように施行されます。

たとえば、すべてのゾーンで均一に利用できない専用の CPU プラットフォーム、GPU モデル、プリエンプティブル VM などをリクエストすると、容量の制約のため、不均等の分配が発生する可能性があります。

「バランス」ターゲット分配形態では、現在の容量に基づいてゾーン全体で可能な限り均等になるようにインスタンスの追加と削除が行われます。
BALANCED 分配形態の MIG のサイズ変更

グループサイズを小さくする

サイズを小さくすると、ターゲット分配形態が BALANCED のリージョン MIG は、ワークロードの中断を最小限にするため、次の順序でインスタンスを削除します。

  1. 実行されていないインスタンス。これは、なんらかの理由で作成できなかったか、作成または自動修復中のインスタンスを意味します。
  2. グループ内の VM の数が多く、最終的に均等な分配状態になるゾーン内のインスタンス。

一時的に利用できないリソースやゾーン障害の影響

BALANCED ターゲット分配形態の場合、容量が使用可能なゾーンにインスタンスがデプロイされます。一時的なゾーン容量の制約により、ゾーン間でインスタンスの割り当てが不均等になることがあります。

この場合、VM インスタンス数が最も多いゾーンで障害が発生すると、ワークロードの処理能力の大部分が失われる可能性があります。正常なゾーンに一時的な容量の制約がある場合、元のロケーション(障害が発生したゾーン)で障害の起きたインスタンスの再作成が施行されますが、この試行は失敗する可能性があります。

このような極端なケースでワークロードを保護するには:

  • リージョン MIG のサイズをオーバープロビジョニングします。これにより、ゾーン障害の発生時にワークロードで十分な処理能力を確保できます。
  • ピーク時の負荷に対応できる十分な容量のリソースを各ゾーンで予約し、オーバープロビジョニングを行い、ゾーン間で均等な分配を維持します。これにより、ゾーン間でインスタンスを均等に分配し、ゾーン障害発生時の容量消失を最小限に抑えることができます。

次の図に、一時的なゾーン容量の制約とそれに続いてゾーン障害が発生した場合の影響を示します。

「バランス」ターゲット分配形態で VM が使用できない場合、分配が不均衡になる可能性があります。その後、ゾーン障害が発生すると、利用可能になるまで、自動修復により障害の起きた VM の作成が継続的に試行されます。
リソースが一時的に使用できず、さらにゾーン障害が発生した場合の BALANCED 分配形態の MIG に対する影響

リージョン内のどのゾーンでもリクエストを処理できない場合、グループは、一時的にリソースを使用できないゾーンでインスタンスの作成をスケジューリングします。グループは、最初に作成をスケジューリングしたゾーンでインスタンスの作成を継続的に試みます。VM がスケジュールされた元のゾーンより前に他のゾーンでリソースが使用可能になると、それ以外のゾーンでの作成は行いません。作成に失敗したマネージド インスタンスを削除し、グループを目的のサイズに変更すると、使用可能な容量のあるゾーンで新しいインスタンスを手動でスケジューリングできます。

インスタンスの作成に失敗した場合は、マネージド インスタンスのリストを取得して、対応するマネージド インスタンスのエラー メッセージを確認するか、最近発生したエラーの一覧を取得できます。

ANY 分配形態

ターゲット分配形態が ANY に設定されている場合、リージョン MIG はリソースが使用可能なゾーンにマネージド インスタンスを作成して、リソースの取得を優先します。この場合、すべてのインスタンスが 1 つのゾーンに作成されている可能性も、すべてのゾーンに均等に分散されている可能性もあります。また、その中間の状態になっていることもあります。

ANY 分配形態の MIG のサイズ変更

グループサイズを増やすと、グループは利用可能な容量があるゾーンを選択します。1 つ以上のゾーンに一致する予約がある場合、その予約の使用が優先されます。

グループサイズを小さくすると、次の順序で VM インスタンスが削除されます。

  1. なんらかの理由で実行されていない VM
  2. 目的のバージョンにまだ更新されていない VM
  3. 決定論的に選択された VM

特定のゾーンでグループサイズを削減する場合や、特定の VM インスタンス(ジョブを終了したワーカーなど)を削除する場合は、グループから個々のインスタンスを削除できます。

一時的に利用できないリソースの影響

ターゲット分配形態を ANY に設定すると、リクエストされたリソースが利用可能なゾーンで VM インスタンスの作成がスケジューリングされ、一時的にリソースを使用できないゾーンが回避されます。

リージョン内のどのゾーンでもリクエストを処理できない場合、グループは、一時的にリソースを使用できないゾーンでインスタンスの作成をスケジューリングします。グループは、最初に作成をスケジューリングしたゾーンでインスタンスの作成を継続的に試みます。VM がスケジュールされた元のゾーンより前に他のゾーンでリソースが使用可能になると、それ以外のゾーンでの作成は行いません。実行されていないマネージド インスタンスを削除し、グループを目的のサイズに変更すると、使用可能な容量のあるゾーンで新しいインスタンスを手動でスケジューリングできます。

インスタンスの作成に失敗した場合は、マネージド インスタンスのリストを取得して、対応するマネージド インスタンスのエラー メッセージを確認するか、最近発生したエラーの一覧を取得できます。

たとえば、次の図は、ゾーンがリクエストを処理できないときにリージョン グループがインスタンスをスケジューリングする方法を示しています。

ターゲット分配形態を「任意」に設定した場合、リクエストされたリソースを利用できるゾーンに VM が作成され、一時的にリソースを使用できないゾーンが回避されます。
分配形態が ANY の MIG でリソースが一時的に利用できない場合の影響

ゾーンレベルの障害の影響

ターゲット分配形態を ANY に設定すると、インスタンスの大半またはすべてが単一ゾーンにデプロイされる場合があります。ゾーンで障害が発生すると、その間、グループのほとんどのインスタンスが使用不能になる可能性があります。

ゾーンレベルの障害が発生した場合やリソースが一時的に使用できなくなった場合、また、なんらかの理由で VM インスタンスが実行されていない場合は、実行されていない個々のインスタンスを削除してグループを必要なサイズに変更し、使用可能な容量があるゾーンで代替インスタンスの取得を試みることができます。

ターゲット分配形態が「任意」に設定されている場合、リクエストされたリソースを利用できるゾーンに VM が作成されます。なんらかの理由でリソースが利用できない場合は、グループのサイズを縮小し、その後、グループのサイズを大きくして別のゾーンで VM の取得を試みることができます。
リソースが一時的に使用できない場合に ANY 分配形態の MIG でインスタンスの削除と再作成を行う

次のステップ