MIG のインスタンス分布をモニタリングする

このドキュメントでは、マネージド インスタンス グループ(MIG)内の仮想マシン(VM)インスタンスの分散をモニタリングするメリット、ユースケース、ダッシュボードについて説明します。また、特定の MIG または複数の MIG のインスタンス分布を表示する方法と、ダッシュボードをカスタマイズしてクエリを実行する方法についても説明します。

MIG がロケーションの柔軟性を使用して複数のゾーンにインスタンスを分散する場合、インスタンスの柔軟性を使用して複数の互換性のあるマシンタイプを指定する場合、またはその両方を行う場合、MIG はリアルタイムのリソースの可用性に基づいてインスタンスを動的に選択してプロビジョニングします。この動作をリアルタイムでモニタリングするには、ダッシュボードを使用して、インスタンスがゾーンとマシンタイプにどのように分散されているかを時系列で追跡します。このデータは、単一の MIG または複数の MIG で集計して表示できます。ダッシュボードには、実行中(アクティブ)のインスタンスと実行されていない(非アクティブ)インスタンスの両方、および期間中のインスタンスの合計数も表示されます。ダッシュボードの指標を解釈して、容量の割り当て、ゾーンのバランス、フォールバック動作を診断できます。

MIG でのインスタンス分散をモニタリングするメリット

MIG がリージョン グループ内の複数のゾーンにインスタンスをデプロイする場合や、インスタンスの柔軟性ポリシーで複数のマシンタイプとランクを指定する場合、ロケーションとマシンタイプの実際の分散は、リソースの可用性に応じて動的に変化します。

ランタイム インスタンスの分散をモニタリングすると、次のことが可能になります。

  • 取得可能性を改善し、容量の制約を緩和する: スケールアウト時に MIG がリソースを正常に取得しているかどうかを確認します。フォールバック ランクでインスタンスが作成されていることは、インスタンスの柔軟性ポリシーが一時的な容量制約を効率的に緩和していることを示しています。ただし、これらのフォールバックを使用してもグループが目標サイズに到達できない場合は、許可されるマシンタイプを拡張するか、ゾーンを追加して、将来のリソース可用性エラーの可能性を減らすことを検討してください。

  • ロケーションの柔軟性とゾーンバランスを確認する: リージョン MIG が意図したとおりにゾーン間で容量を分散していることを確認します(EVEN または BALANCED)。または、ANY または ANY_SINGLE_ZONE のターゲット分配形態を使用している場合に、ゾーン間で容量が動的にシフトする様子を観察します。

  • 費用とパフォーマンスのバランスを取る: インスタンスの柔軟性を備えた MIG で選択されているマシンタイプを追跡することで、費用とパフォーマンスをより正確に把握し、改善の機会を探すことができます。たとえば、インスタンスがワークロードで必要とされるよりも高いパフォーマンスを常に提供している場合は、ワークロードで低コストの優先オプションを許容できるかどうかを検討してください。また、パフォーマンスの問題が発生した場合は、取得可能性に基づいて、ワークロードをより多くのマシンに分割するのではなく、高パフォーマンスのマシンタイプを優先することを検討してください。

モニタリング ダッシュボードがオブザーバビリティの質問にどのように役立つかについては、このドキュメントのダッシュボードを解釈するをご覧ください。

MIG インスタンスの分散をモニタリングする

MIG のインスタンスの分散は、次のいずれかの方法でモニタリングできます。

  • 特定の MIG のインスタンス分布を表示するには、MIG ページの [モニタリング] タブを使用します。手順については、特定の MIG のインスタンス分布を表示するをご覧ください。

  • 複数の MIG にわたるインスタンスの分布を表示するには、Cloud Monitoring ダッシュボードを使用して集計ビューを表示します。手順については、複数の MIG にわたるインスタンスの分散を表示するをご覧ください。

  • インスタンス分布データをカスタム ダッシュボードに統合するには、PromQL を使用して、基盤となる指標をプログラムでクエリします。このコードベースの代替方法を使用すると、Grafana などの外部モニタリング ツールにデータをエクスポートできます。手順については、PromQL を使用してプログラムでクエリを実行するをご覧ください。

インスタンス分配ダッシュボードについて

MIG インスタンス分散モニタリング ダッシュボードには、次の 4 つの専用グラフが表示されます。

  • ゾーン別のインスタンス分布: ゾーン別にグループ化されたインスタンス数を示すグラフ。ロケーションの柔軟性とリージョン間のゾーン分布を示します。

  • マシンタイプ別のインスタンス分布: マシンタイプ別にグループ化されたインスタンス数を示すグラフ。グループが異なるマシンタイプとサイズに容量をどのように割り当てているかを示します。

  • アクティブなインスタンスと非アクティブなインスタンス: アクティブか非アクティブかに基づいてグループ化されたインスタンスの数を示すグラフ。アクティブなインスタンスは完全に動作し、実行されています(RUNNING)。非アクティブなインスタンスは、実行されていないが削除されていないインスタンスです。これには、作成中(PROVISIONING、STAGING)、一時停止中(SUSPENDED)、シャットダウン中(STOPPED、TERMINATED)のインスタンスが含まれます。

  • 合計インスタンス数: 期間中の MIG 内のインスタンスの合計数を示すグラフ。

これらのグラフは、compute.googleapis.com/instance/cpu/utilization や metadata.system_labels.machine_type などの標準の Compute Engine システム メタデータ ラベルと指標に依存しています。Cloud Monitoring は、すべての Compute Engine インスタンスのシステム指標とメタデータ ラベルを自動的に収集します。ダッシュボードでこれらのグラフを表示するために、Ops エージェントをインストールしたり、インスタンス内にカスタム ゲスト テレメトリーを構成したりする必要はありません。

特定の MIG または複数の MIG にスコープ設定されたインスタンス分散データを表示するには、インスタンス分散を表示するをご覧ください。

必要なロール

インスタンスの分布を表示する

特定の MIG のインスタンス分散ダッシュボード、または複数の MIG の集計データを表示できます。

特定の MIG のインスタンス分布を表示する

  1. Cloud de Confiance コンソールで、[インスタンス グループ] ページに移動します。

    [インスタンス グループ] に移動

  2. モニタリングする MIG の名前をクリックします。

  3. [モニタリング] タブをクリックします。

  4. [モニタリング] タブのナビゲーション パネルで、[インスタンスの分布] を選択します。

複数の MIG にわたるインスタンスの分散を表示する

すべての MIG のインスタンス分布を一度に確認するには、Cloud Monitoring の事前構成されたダッシュボードを使用します。デフォルトでは、このダッシュボードにはプロジェクト内のすべての MIG のデータが集計されます。

  1. Cloud de Confiance コンソールで、[Monitoring] > [ダッシュボード] ページに移動します。

    ダッシュボードに移動する

  2. [フィルタ] で、[GCE MIG Instance Distribution Monitoring] ダッシュボードを検索して選択します。このダッシュボードは、[タイプ] メニュー > [Google サービス] カテゴリでも確認できます。

  3. 省略可: プロジェクトに複数の MIG が含まれていて、集計ビューを絞り込む場合は、ダッシュボードのフィルタ変数を使用して、リージョン、ゾーン、instance_group でフィルタします。

Cloud Monitoring ダッシュボードをカスタマイズする

Cloud Monitoring でインスタンス分散ダッシュボードをカスタマイズできますが、特定の MIG の [モニタリング] タブ内のビューは変更できません。

Cloud Monitoring で、ダッシュボードのグラフの変更、フィルタの適用、カスタム レイアウト構造の構成を行うには、まず事前構成済みのダッシュボードをコピーする必要があります。

  1. Cloud de Confiance コンソールで、[モニタリング] > [ダッシュボード] ページに移動します。

    ダッシュボードに移動する

  2. [フィルタ] で、[GCE MIG Instance Distribution Monitoring] ダッシュボードを検索して選択します。このダッシュボードは、[タイプ] メニュー > [Google サービス] カテゴリでも確認できます。

  3. [ダッシュボードをコピー] をクリックします。

  4. コピーしたダッシュボードを編集して、名前、グラフ、レイアウトを変更したり、必要に応じてフィルタを適用したりします。

コピーまたはカスタマイズしたダッシュボードは、[タイプ] メニュー > [カスタム] カテゴリで確認できます。

ダッシュボードのカスタマイズの詳細については、Cloud Monitoring ドキュメントの次のページをご覧ください。

ダッシュボード フィルタを適用する

GCE MIG Instance Distribution Monitoring ダッシュボードには、MIG の特定のサブセットをドリルダウンできる組み込みのフィルタ変数が含まれています。

  • リージョン(region): 1 つ以上の特定のCloud de Confiance by S3NS リージョンのインスタンスを表示するようにグラフをフィルタします。

  • ゾーン(zone): グラフをフィルタしてゾーンの分布を観察し、インスタンスが均等に分散されているか、特定のゾーン間で容量がシフトしているかを確認します。

  • インスタンス グループ(instance_group): プロジェクトに複数の MIG が含まれている場合に、グラフをフィルタして 1 つの MIG を分離します。

Cloud de Confiance コンソールでフィルタを適用するには、コピーしたダッシュボードで [フィルタ] をクリックし、フィルタ プロパティ(region、zone、instance_group など)を選択して、選択した値を選択します。

フィルタの使用方法については、Cloud Monitoring ドキュメントのカスタム ダッシュボードに一時的なフィルタを追加するをご覧ください。

イベント アノテーションを構成する

ゾーンとマシンタイプ間のインスタンス分布の変化を分析する際に、ライフサイクル イベントまたはデプロイのアノテーションを構成すると、容量のシフトを特定の運用アクティビティに関連付けることができます。たとえば、グラフのタイムラインにアノテーションを追加して、次のようなイベントをハイライト表示できます。

  • MIG 構成の更新(ターゲット分配形態、instanceSelections、rank の順序の変更など)。

  • グループ内で開始されたローリング アップデートまたはインスタンスの修復。

  • シミュレートされたゾーン停止イベントまたは実際のゾーン停止イベント。

  • 自動スケーリングの決定。

使用可能なイベントタイプとアノテーションの追加方法については、Cloud Monitoring ドキュメントの次のページをご覧ください。

ダッシュボードの見方

MIG インスタンス配布ダッシュボードを表示するときは、次のガイダンスを使用して、一般的なオブザーバビリティの質問に回答し、動的なロケーションとマシンタイプの動作を解釈します。

インスタンスが特定のゾーンで実行されている、またはゾーン間で移動しているのはなぜですか?

[ゾーン別のインスタンス分布] グラフに、リージョン MIG のゾーン間で不均一な分布や、ロケーション間で急激な容量シフトが示されている場合は、次のロケーションの柔軟性要因を確認します。

  • ターゲット分配形態: 構成済みのターゲット分配形態を確認します。MIG が ANY または ANY_SINGLE_ZONE で構成されている場合、MIG はインスタンスを均等に分散するのではなく、容量または未使用の予約が最も利用しやすいゾーンを優先します。MIG が BALANCED を使用している場合、グループはゾーン間でインスタンス数のバランスを維持しようとしますが、特定のゾーンで一時的な容量不足が発生した場合は、インスタンスを代替ゾーンに一時的に配置することがあります。

  • リージョン容量の再配分: 局所的なゾーンの停止などのイベントにより一時的に容量が不足した場合、高可用性用に構成されたリージョン MIG は、リージョン内の代替ゾーンで代替インスタンスを自動的に検出して割り当てます。ダッシュボードには、このロケーションの柔軟性が、影響を受けるゾーンのインスタンス数の減少と、代替ゾーンの対応する増加として反映されます。

MIG がフォールバック マシンタイプで実行されているのはなぜですか?

MIG がインスタンスの柔軟性を使用しており、[マシンタイプ別のインスタンス分布] グラフに、グループが優先度の低い(ランク値が高い)マシンタイプでインスタンスをアクティブに作成して実行していることが示されている場合は、次の原因が考えられます。

  • 一時的なリソース制約: プライマリ マシンタイプの需要が高い場合や、一時的なリソース制約がある場合、MIG は自動的にセカンダリ選択にフォールバックして、ターゲット容量を確保します。優先マシンタイプが再び使用可能になっても、MIG はフォールバック マシンタイプを引き続き使用し、優先マシンタイプに自動的に切り替えることはありません。

  • 割り当て制限: 選択したリージョンで、 Cloud de Confiance by S3NS プロジェクトに、優先マシンシリーズに十分な vCPU とリソースの割り当てがあることを確認します。プライマリ マシンタイプの割り当てが不足している場合、MIG は使用可能なセカンダリ選択からプロビジョニングします。

詳細については、MIG がマシンタイプを選択する方法をご覧ください。

PromQL を使用してプログラムでクエリを実行する

MIG のインスタンス分布をモニタリングするには、Cloud Monitoring の PromQL を使用して、基盤となる指標をプログラムでクエリすることもできます。プログラムでクエリを実行すると、インスタンスの分散データをカスタム オブザーバビリティ ダッシュボードや Grafana などの外部モニタリング ツールに統合できます。PromQL を使用して、ゾーン別またはマシンタイプ別にインスタンスをクエリできます。

次のセクションで説明するように、コードエディタで PromQL クエリを実行します。

コードエディタにアクセスする

PromQL には、 Cloud de Confiance コンソールの次のページからアクセスできます。

  • Metrics Explorer
  • ウィジェットを追加(ダッシュボードの作成時)

Metrics Explorer の使用時にコードエディタを開くには、次の操作を行います。

  1. Cloud de Confiance コンソールで、[ Metrics Explorer] ページに移動します。

    [Metrics Explorer] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. クエリビルダー ペインのツールバーで、[ PromQL] ボタンを選択します。

  3. テキスト フィールドにクエリを入力し、[クエリを実行] をクリックします。以降のセクションでは、クエリの例を示します。

コードエディタの詳細については、Cloud Monitoring ドキュメントの PromQL のコードエディタを使用するをご覧ください。

ゾーン別にアクティブなインスタンスをクエリする

ゾーンごとにアクティブなインスタンスをクエリするには、コードエディタで次のクエリを実行します。

count by (zone) (compute_googleapis_com:instance_cpu_utilization{metadata_system_instance_group="YOUR_MIG_NAME"})

YOUR_MIG_NAME は、MIG の名前に置き換えます。

マシンタイプ別にアクティブなインスタンスをクエリする

マシンタイプ別にアクティブなインスタンスをクエリするには、コードエディタで次のクエリを実行します。

count by (metadata_system_machine_type) (compute_googleapis_com:instance_cpu_utilization{metadata_system_instance_group="YOUR_MIG_NAME"})

YOUR_MIG_NAME は、MIG の名前に置き換えます。

次のステップ