接続テストの概要

接続テストは、ネットワーク エンドポイント間の接続を確認できる診断ツールです。構成を分析し、場合によってはエンドポイント間でライブ データプレーン分析を行います。エンドポイントは、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内部にあり、変更される可能性があるためです。

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 の機能については、サポートされていない構成のセクションをご覧ください。

サーバーレス エンドポイント

次のサーバーレス エンドポイントがサポートされています。

サーバーレス エンドポイントの送信元 IP アドレスは通常、非確定的です。接続テストでは、テスト実行ごとに、サーバーレス エンドポイントで使用可能なアドレスプールからランダムに IP アドレスが選択されます。サーバーレス エンドポイントに IP アドレスが割り振られる方法の一般的な情報については、以下をご覧ください。

ダイレクト VPC 下り(外向き)コネクタとサーバーレス VPC アクセス コネクタが、下り(外向き)設定によっては、Virtual Private Cloud ネットワークではなく、外部接続を介してサーバーレス エンドポイントからのトラフィックを転送するように構成されている場合があります。

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

他の Google Cloud サービス

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

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

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

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

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

ステータス 宛先に到達したプローブの数
到達可能 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 ドキュメントのサービス境界の詳細と構成のページをご覧ください。

次のステップ