接続テストの概要

接続テストは、ネットワーク エンドポイント間の接続を確認できる診断ツールです。構成を分析し、場合によってはエンドポイント間でライブ データプレーン分析を行います。エンドポイントは、VM、Google Kubernetes Engine(GKE)クラスタ、ロードバランサの転送ルール、インターネット上の IP アドレスなどのネットワーク トラフィックの送信元または宛先です。

ネットワーク構成を分析するため、接続テストでは、Virtual Private Cloud(VPC)ネットワーク、Cloud VPN トンネル、VLAN アタッチメントを通過するパケットの想定転送パスをシミュレートします。さらに、VPC ネットワーク内のリソースへの想定されるインバウンド転送パスをシミュレートすることもできます。

一部の接続シナリオでは、接続テストでライブ データプレーン分析も行います。この機能は、接続性を検証するためにデータプレーン経由でパケットを送信し、レイテンシとパケットロスのベースライン診断を行います。機能に対してルートがサポートされている場合、実行する各テストには、ライブ データプレーン分析の結果が含まれます。

さまざまなシナリオでテストを作成して実行する方法については、接続テストを作成して実行するをご覧ください。

接続テストで使われる API は、Network Management API です。詳細については、API ドキュメントをご覧ください。

接続テストを使用するメリット

接続テストは、次のネットワーク接続に関する問題のトラブルシューティングに有用です。

  • 予期しない構成の矛盾
  • ネットワーク構成の変更または移行に起因する構成
  • さまざまなネットワーク サービスや機能の構成エラー

Google マネージド サービスの接続テストを行うと、VPC ネットワークの問題や、サービス リソースに使用されている Google 所有の VPC ネットワークの問題を特定できます。

接続テストが構成を分析する仕組み

ネットワーク構成を分析する場合、接続テストは抽象ステートマシンを使用して、VPC ネットワークがパケットを処理する方法をモデル化します。Google Cloud は、複数の論理ステップでパケットを処理します。

分析ではさまざまなパスが使用されることがある

構成分析は、さまざまな VPC ネットワーク サービスと機能をサポートするため、テストパケットが通過する可能性のある VPC ネットワーク構成のパスは多数あります。

次の図は、構成分析によって 2 つの Compute Engine 仮想マシン(VM)インスタンス(左側と右側)間でトレース トラフィックをシミュレーションするモデルを示しています。

分析はネットワーク インフラストラクチャに依存する

Google Cloud ネットワークとリソース構成により、このトラフィックは、送信先 VM インスタンスに到達する前に、Cloud VPN トンネル、VPC ネットワーク、Google Cloud ロードバランサ、ピアリングした VPC ネットワークを通過する場合があります。

ネットワーク抽象ステートマシン
ネットワーク抽象ステートマシン

分析は多数の有限状態のうちの 1 つに従う

パケットが配信またはドロップされるまでの離散状態間の有限のステップが有限ステートマシンとしてモデル化されています。この有限ステートマシンは、どの時点においても多数の有限状態のうちの 1 つだけを取ることができ、複数の後続状態を持つことができます。

たとえば、ルートの優先順位に従うと複数のルートが一致する場合、データプレーンの未指定のハッシュ関数に基づいて、複数のルートのうちの 1 つを選択できます。 ポリシーベースのルートが構成されている場合、接続テストは、ネクストホップ(内部ロードバランサ)にパケットをルーティングします。

前のケースでは、接続テストのトレースにより、可能なルートすべてが返されますが、ルートを返すために Google Cloud が使用した方法を特定できません。これは、その方法が Google Cloud の内部にあり、変更される可能性があるためです。

Google マネージド サービス

Cloud SQL や Google Kubernetes Engine(GKE)などの Google マネージド サービスでは、Google が所有および管理するプロジェクトや VPC ネットワークのお客様にリソースが割り当てられます。ユーザーには、これらのリソースにアクセスする権限がありません。

接続テストの構成分析では、引き続きテストを実行し、Google マネージド サービスの全体的な到達可能性の結果を提供しますが、Google が所有するプロジェクト内のテスト対象リソースの詳細は表示されません。

次の図は、構成分析によって、お客様の VPC ネットワーク内の VM インスタンスから Google 所有の VPC ネットワーク内の Cloud SQL インスタンスへのトレース トラフィックをシミュレートするモデルを示しています。この例では、ネットワークが VPC ネットワーク ピアリングで接続されています。

2 つの VM 間で行う標準的なテストと同様に、論理的な手順には関連する下り(外向き)ファイアウォールの確認とルートの照合が含まれています。テストを行うと、接続テストの構成分析により、手順の詳細が提供されます。ただし、Google 所有の VPC ネットワークの構成を分析する最後の論理ステップでは、全体的な到達範囲の結果のみが提供されます。Google 所有プロジェクトのリソースに対する表示権限がないため、接続テストでこれらのリソースの詳細情報が提供されません。

詳細については、Google マネージド サービスとの接続性をテストするのテスト例をご覧ください。

Google マネージド サービスのネットワーク抽象ステートマシン。
Google マネージド サービスのネットワーク抽象ステートマシン

サポートされている構成

接続テストの構成分析では、次のセクションで説明するネットワーク構成のテストがサポートされています。

トラフィック フロー

  • VM インスタンスとインターネット間
  • VM インスタンスから VM インスタンス
  • Google Cloud とオンプレミス ネットワーク間
  • Network Connectivity Center 経由で接続された 2 つのオンプレミス ネットワーク間
  • 2 つの Network Connectivity Center の VPC スポーク間

VPC ネットワーキング機能

次の機能を使用するリソース間の接続をテストできます(IPv4 と IPv6 のどちらも、適用可能な場合はサポートされています)。

Google Cloud ハイブリッド ネットワーキング ソリューション

次のハイブリッド ネットワーキング ソリューションは、IPv4 と IPv6 の両方でサポートされます。

Network Connectivity Center

Network Connectivity Center 用の VPC スポークとハイブリッド スポークがサポートされています。

Cloud NAT

Public NAT と Private NAT がサポートされています。

Cloud Load Balancing

  • サポートされている Google Cloud ロードバランサ タイプは、外部アプリケーション ロードバランサ、外部パススルー ネットワーク ロードバランサ、外部プロキシ ネットワーク ロードバランサ、内部アプリケーション ロードバランサ、内部パススルー ネットワーク ロードバランサ、内部プロキシ ネットワーク ロードバランサです。
  • ロードバランサの IP アドレスへの接続のテストがサポートされています。
  • Cloud Load Balancing ヘルスチェックとバックエンドの接続の確認がサポートされています。
  • 内部 TCP / UDP ロードバランサは、ネクストホップとして使用できます

サポートされていない Cloud Load Balancing の機能については、サポートされていない構成のセクションをご覧ください。

Google Kubernetes Engine(GKE)

  • GKE ノードと GKE コントロール プレーン間の接続がサポートされています。
    • 接続テストの構成分析で GKE コントロール プレーンのプライベート IP アドレスをテストする場合、パケットがコントロール プレーンに配信可能かどうかが判定されます。この場合、Google 所有の VPC ネットワーク内の構成も分析されます。
    • 接続テストの構成分析で GKE コントロール プレーンのパブリック IP アドレスをテストする場合は、コントロール プレーンが動作している Google 所有の VPC ネットワークにパケットを送信可能かどうかが判定されます。この場合、Google 所有の VPC ネットワーク内の構成は分析されません。
  • Cloud Load Balancing を介した GKE サービスへの接続がサポートされています。
  • VPC ネイティブ クラスタの GKE Pod への接続がサポートされています。

サポートされていない GKE の機能については、サポートされていない構成のセクションをご覧ください。

その他の Google Cloud プロダクトとサービス

次に挙げる Google Cloud プロダクトやサービスもサポートされています。

  • Private Service Connect 接続VPC ネットワーク ピアリング接続外部レプリカなどの Cloud SQL インスタンスがサポートされます。
    • Cloud SQL インスタンスのプライベート IP アドレスをテストするときに、構成分析はパケットをインスタンスに送信できるかどうかを確認します。この場合、Google 所有の VPC ネットワーク内の構成も分析されます。
    • Cloud SQL インスタンスのパブリック IP アドレスをテストするときに、構成分析は、インスタンスが実行される Google 所有の VPC にパケットを送信できるかどうかを確認します。この場合、Google 所有の VPC ネットワーク内の構成は分析されません。
  • Cloud Functions(第 1 世代)がサポートされています。
  • Cloud Run のリビジョンがサポートされています。
  • App Engine スタンダード環境がサポートされています。

サポートされていない構成

接続テストの構成分析では、次のネットワーク構成はサポートされていません。

接続テストによるライブ データプレーンの分析方法

ライブ データプレーン分析機能は、送信元のエンドポイントから宛先に複数のトレース パケットを送信して、接続をテストします。ライブ データプレーン分析の結果には、送信されたプローブの数、宛先に正常に到達したプローブの数、ネットワーク到達性のステータスが表示されます。次の表に示すように、このステータスは正常にデプロイされたプローブの数によって決まります。

ステータス 宛先に到達したプローブの数
到達可能 95% 以上
到達不能 なし
一部到達可能 0~95%

ダイナミック検証では、正常に配信されたパケットの数だけでなく、中央値と 95 パーセンタイルの一方向のレイテンシ情報も表示されます。

ライブ データプレーン分析は構成分析に依存しません。ライブ データプレーン分析は、接続状態について独立した評価を行います。

構成分析とライブ データプレーン分析の結果に明らかな違いがある場合は、接続テストのトラブルシューティングをご覧ください。

サポートされている構成

ライブ データプレーン分析は、次のネットワーク構成をサポートしています。

トラフィック フロー

  • 2 つの VM インスタンス間
  • VM インスタンスと Cloud SQL インスタンスの間
  • VM インスタンスと GKE コントロール プレーン エンドポイントの間
  • VM インスタンスと Google ネットワーク エッジ ロケーションの間
  • IP プロトコル: TCP、UDP

VPC ネットワーキング機能

次の機能を使用するリソース間の接続を動的に検証できます。

サポートされていない構成

サポート対象として明示的にリストされていない構成はすべてサポートされません。また、下り(外向き)ファイアウォール ルールによって接続がブロックされている構成もサポートされません。

特定のテストでは、ライブ データプレーン分析機能が実行されない場合に、最終パケットの転送結果のフィールドに N/A または - が表示されます。

考慮事項と制約

接続テストを使用するかどうかを決定するときは、次の考慮事項を評価してください。

  • 接続テストで実行される構成分析は、Google Cloud リソースの構成情報のみに基づくものであり、VPC ネットワークのデータプレーンの実際の状態またはステータスを表しているとは限りません。
  • 接続テストは、Cloud VPN トンネルの状態や Cloud Router の動的ルートなどの動的構成情報を取得しますが、Google 内部の本番環境インフラストラクチャとデータプレーン コンポーネントのヘルス状態へのアクセスや、それらの管理は行いません。
  • 接続テストのステータスが Packet could be delivered の場合でも、トラフィックがデータプレーンを通過できることは保証されません。テストの目的は、トラフィックのドロップを引き起こす可能性がある構成の問題を検証することです。

サポートされているルートの場合、ライブデータ プレーンの分析結果は、送信パケットが宛先に到着するかどうかをテストすることで、構成分析の結果を補完します。

接続テストに Google Cloud の外部のネットワークに関する情報がない

外部ネットワークは、次のように定義されます。

  • ハードウェア デバイスとソフトウェア アプリケーションを操作するデータセンターや他の施設にあるオンプレミス ネットワーク
  • リソースを実行するほかのクラウド プロバイダ
  • VPC ネットワークにトラフィックを送信するインターネット上のホスト

接続テストでファイアウォールの接続トラッキングが行われない

VPC ファイアウォールの接続トラッキングでは、新規接続および確立された接続に関する情報を格納し、その情報に基づいて後続のトラフィックを許可または制限できるようにします。

接続テストの構成分析は、ファイアウォール接続のトラッキングはサポートしていません。ファイアウォール接続テーブルが VM インスタンスのデータプレーンに配置され、アクセスできないためです。ただし、構成分析は、アウトバウンド接続を開始する限り、通常は上り(内向き)ファイアウォール ルールによって拒否されるリターン接続を許可することで、接続トラッキングをシミュレーションできます。

ライブ データプレーンの分析では、ファイアウォールの接続トラッキングのテストはサポートされていません。

接続テストで、転送動作を変更するように構成された VM インスタンスをテストできない

接続テストは、ルーター、ファイアウォール、NAT ゲートウェイ、VPN などとしてデータプレーンで動作するように構成されている VM インスタンスをテストできません。このタイプの構成では、VM インスタンスで実行されている環境の評価が困難になります。また、ライブ データプレーン分析は、このテストシナリオをサポートしていません。

接続テストの結果を得られる時間は状況による

接続テストの結果の取得には、30 秒から最大 10 分かかります。テストにかかる時間は、VPC ネットワークの構成のサイズと使用する Google Cloud リソースの数に基づきます。

次の表は、クエリのサンプル構成に対し、テストを行うすべてのユーザーが期待できるレスポンス時間を示しています。この構成には、VM インスタンス、Cloud VPN トンネル、Google Cloud ロードバランサが含まれています。

クエリあたりのレスポンス時間
プロジェクトの規模 Google Cloud リソースの数 レスポンスのレイテンシ
小規模プロジェクト 50 未満 すべてのユーザーからのクエリの 95% で 60 秒
中規模プロジェクト 50 以上、5,000 未満 すべてのユーザーからのクエリの 95% で 120 秒
大規模プロジェクト 5,000 以上 すべてのユーザーからのクエリの 95% で 600 秒

ライブ データプレーン分析は継続的なモニタリングを目的としたものではない

ライブ データプレーン分析は、診断のためにネットワーク接続の 1 回限りの検証を行います。接続とパケットロスを継続的にモニタリングするには、パフォーマンス ダッシュボードを使用します。

ライブ データプレーン分析で複数のトレースがテストされない

ルートが決定論的でない場合、ライブ データプレーン分析はサポートされません。

VPC Service Controls のサポート

VPC Service Controls は接続テストのセキュリティを強化して、データの引き出しのリスクを低減します。VPC Service Controls の活用により、境界の外部から発生するリクエストからリソースとサービスを保護するサービス境界にプロジェクトを追加できます。

サービス境界の詳細については、VPC Service Controls ドキュメントのサービス境界の詳細と構成のページをご覧ください。

次のステップ