MIG のインスタンスの柔軟性について


マネージド インスタンス グループ(MIG)のインスタンスの柔軟性により、単一のマシンタイプに制限されることなく、グループ内の仮想マシン(VM)インスタンスに複数のマシンタイプを指定できます。マシンタイプを使用できない場合、MIG は現在のリソースの可用性に基づいて、リストから互換性のある別のタイプを自動的に選択できます。この柔軟性は、特に、さまざまなマシンタイプで動作でき、大規模な容量や需要の高いハードウェアを必要とするアプリケーションで、リソースの取得可能性を向上させるうえで役立ちます。

このドキュメントでは、MIG でのインスタンスの柔軟性の仕組みと制限事項について説明します。インスタンスの柔軟性を使用するように MIG を構成する方法については、インスタンスの柔軟性を追加するをご覧ください。

インスタンスの柔軟性

MIG は、選択したインスタンス テンプレートに基づいてすべての VM を作成します。インスタンス テンプレートでは、各 VM に使用するマシンタイプを指定します。インスタンスの柔軟性を使用すると、アプリケーションと互換性のあるすべてのマシンタイプを一覧取得できます。

次の図は、単一のマシンタイプを使用する MIG と、インスタンスの柔軟性を使用する MIG を比較しています。画像に示すように、単一のマシンタイプを使用する MIG では、インスタンス テンプレートに基づいて同一の VM が作成されます。一方、インスタンスの柔軟性のある MIG では、マシンタイプとサイズが異なる VM を作成できます。

単一のマシンタイプを使用する MIG とインスタンスの柔軟性を使用する MIG の比較

インスタンスの柔軟性の仕組み

デフォルトでは、MIG はインスタンス テンプレートの単一のマシンタイプを使用してすべての VM を作成します。MIG で複数のマシンタイプを設定するには、インスタンスの柔軟性ポリシー(instanceFlexibilityPolicy)でインスタンスの選択(instanceSelections)を構成します。

ワークロードが複数の異なるマシンタイプで動作できる場合は、アプリケーションと互換性のあるすべてのマシンタイプのリストを 1 つの instanceSelection に構成します。

  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "instance-selection-1": {
        "machineTypes": ["c3-standard-8","n2-standard-8","c2-standard-8"]
      }
    }
  }
  

MIG でマシンタイプを特定の順序で選択する場合は、複数インスタンスの選択を構成し、それぞれにマシンタイプのリストとランクを指定して優先度を定義できます。ランクの値が小さいほど、優先度が高くなります。MIG は、優先度の高いマシンタイプを使用して VM の作成を試みます。これらの優先マシンタイプを使用できない場合、MIG は優先度の低いマシンタイプを使用します。

  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "instance-selection-1": {
        "rank": 1,
        "machineTypes": ["c3-standard-8","n2-standard-8","c2-standard-8"]
      },
      "instance-selection-2": {
        "rank": 2,
        "machineTypes": ["c3-standard-16","n2-standard-16","c2-standard-16"]
      }
    }
  }
  

ハードウェアの可用性は時間とともに変化します。また、予約を使用しない限り、特定のハードウェアが確実に利用できるわけではありません。アプリケーションは、リストされているマシンタイプのいずれかで実行できる状態である必要があります。

MIG がマシンタイプを選択する方法

複数のマシンタイプを構成すると、MIG は現在のリソースの可用性に応じてマシンタイプを選択し、未使用の予約を優先します。ランクを構成した場合、MIG はまず優先順位を考慮します。MIG は、ランク付けされたインスタンスの中でリソースの可用性を確認し、予約を行います。

リソースの可用性はゾーンによって異なるため、MIG のリージョン内のゾーンもマシンタイプの選択に影響する可能性があります。詳細については、次のセクション(MIG がゾーンを選択する方法)をご覧ください。

MIG がゾーンを選択する方法

インスタンスの柔軟性は、ターゲット分配形態が BALANCED または ANY_SINGLE_ZONE のリージョン MIG で構成できます。インスタンスの柔軟性により、リージョン MIG が VM を作成するときに、次のように選択したターゲット分配形態に応じてゾーンが選択されます。

  • BALANCED: MIG は、ゾーン間で VM をできるだけ均等に分散させるために、使用可能なリソースのあるゾーンを選択します。選択したゾーン内で、MIG はランク(構成されている場合)と使用可能な予約に基づいてマシンタイプの優先度を設定します。

  • ANY_SINGLE_ZONE: MIG は、ランクに基づいてマシンタイプが最も多く、未使用の予約からほとんどの VM を作成できるゾーンを選択します(構成されている場合)。

ターゲット分配形態の仕組みの詳細については、リージョン MIG のターゲット分配形態をご覧ください。

インスタンスの柔軟性と予約

インスタンスの柔軟性は予約で使用できます。MIG は、インスタンス テンプレートで設定した reservationAffinity フィールドに基づいて予約を使用します。

インスタンス選択に複数のマシンタイプが含まれている場合、MIG は未使用の予約があるマシンタイプを最初に選択します。MIG がマシンタイプを選択する順序を変更するには、複数のインスタンス選択を構成し、ランクを使用して優先度を指定します。MIG は、まず優先順位に従い、次にインスタンス選択内の予約を検討します。

予約の詳細については、Compute Engine ゾーンリソースの予約をご覧ください。

インスタンスの柔軟性と Spot VM

インスタンスの柔軟性のある MIG が Spot VM を使用している場合、MIG は、ワークロードの中断を最小限に抑えるため、観測されたプリエンプション レートが最も低いマシンタイプを自動的に選択します。この動作をオーバーライドするには、複数のインスタンス選択を構成し、ランクを使用して優先度を指定します。MIG は、まず優先順位に従い、次にインスタンス選択内の Spot VM の信頼性を考慮します。

Spot VM の詳細については、マネージド インスタンス グループ内の Spot VM をご覧ください。

インスタンスの柔軟性と VM の修復

デフォルトでは、MIG 内の VM に障害が発生した場合、MIG はマシンタイプを含む同じ構成を使用して VM を再作成し、VM を修復します。インスタンスの柔軟性を構成し、障害が発生した VM の元のマシンタイプが一時的に使用できない場合、MIG は指定されたインスタンスの選択に基づいて別のマシンタイプを選択します。

修復の詳細については、高可用性のための VM の修復についてをご覧ください。

制限事項

インスタンスの柔軟性には次の制限があります。

次のステップ