接続テストの一般的なユースケースは、同じネットワークやピアリングした Virtual Private Cloud(VPC)ネットワーク内の 2 つの Compute Engine 仮想マシン(VM)インスタンス間をテストすることです。
このタイプのテストでは、接続テストは構成分析とライブ データプレーン分析の両方を使用してネットワーク到達性を評価します。接続テストでは、構成を分析するためにトレースパスを特定して評価します。
このページのトレース図では、次の凡例で説明されている記号を使用しています。次の図は、2 つの VM インスタンス間の一般的なトレースパスを示しています。Match routes
オブジェクトは、1 つの VPC ネットワーク内または 2 つのピアリングした VPC ネットワーク間でトラフィックを転送するルートを表します。
次の手順では、トレース図の各ポイントに対応するチェックポイントについて説明します。チェックは任意のチェックポイントで失敗する可能性があります。失敗の理由はクエリ結果に示されます。テストの状態とメッセージの一覧については、構成分析の状態をご覧ください。
接続テストでは、送信元 VM が特定の送信元 IP アドレスを含む下り(外向き)パケットを送信できることを確認します。送信元 IP アドレスが指定されていない場合は、デフォルトでなりすましチェック プロセスが行われることを確認します。
-
接続テストは、VM インスタンスとの間のシミュレートされたパケットが、そのインスタンスが所有していない IP アドレスを使用している場合に、なりすましチェックを実施します。VM が所有する IP アドレスには、すべての VM 内部 IP アドレスとセカンダリ IP アドレスが含まれます。
アドレスが、外部トラフィックから発信されているように見せかけたアドレス(外部アドレスとも呼ばれる)である場合、その IP アドレスはなりすましチェックに合格しません。
ソースからトレース パケットを送信できるかどうかを判断するために、接続テストは適切な下り(外向き)ファイアウォール ルールを検証します。このプロセスの一環として、接続テストはまず、既存の階層のファイアウォール ポリシールールを評価します。階層型ファイアウォール ポリシールールと VPC ファイアウォール ルールが接続に与える影響の詳細については、階層型ファイアウォール ポリシーの例をご覧ください。
接続テストは、ルーティング順序に従って、送信先 IP アドレスのルートを検索(照合)します。送信先 VM インスタンスに使用できる他のルートがない場合、接続テストではネクストホップを含むデフォルトの静的ルートをインターネット ゲートウェイとして使用します。このデフォルト ルートが削除されていない限り、すべての VPC ネットワークで使用されます。
接続テストでは、ネットワークの上り(内向き)ファイアウォール ルールがパケットの送信先 VM への到達を許可していることを確認します。ここでも、接続テストはまず、既存の階層のファイアウォール ポリシールールを評価します。
必要に応じて、接続テストは 2 番目の VM に到着したパケットに対してなりすましチェックを行います。
接続テストでは、送信先 VM が指定した送信先 IP アドレスを持つパケットを受信できることを確認します。このアドレスが外部 IP アドレスの場合、送信先 VM で IP 転送が有効にされている必要があります。外部 IP アドレスとは、VM に属していないアドレスのことです。
次の Google Cloud Console のスクリーンショットは、VM から VM へのテスト結果を示しています。
構成分析では、パケットは配信されている可能性がありますという結果が表示されます(API レスポンスでは、このラベルは Deliver
の最終状態に対応します)。
この結果は、送信元 VM から宛先 VM へのパス上にあるすべての Google Cloud リソースのネットワーク接続が検証されたことを示しています。 この場合、ルートには 2 つの VPC ファイアウォール ルール(default
という暗黙の VPC ファイアウォール ルール)と、この VPC ネットワーク用に作成されたルールがあります。
また、接続テストでは、アクティブ プローブを使用して、宛先 VM へのネットワーク到達性も動的に確認します。この結果の詳細が [前回のパケット送信の結果] フィールドに表示されます。
トレースパスの各カードを展開すると、詳細が表示されます。
次の例は、展開した上り(内向き)ファイアウォール ルールのカードを示しています。このカードには、VPC ネットワーク、ファイアウォール ルールに構成されたアクション(許可)、ルールの優先度に関する情報が含まれています。
ネクストホップがピアリングした VPC ネットワークである VPC ネットワーク ルートがトレースに含まれている場合、トレースは VM インスタンスではなく VPC ネットワークから開始されます。このタイプのトレースでは、テスト対象の IP アドレスが VM インスタンスではなくネットワークの範囲にあるため、ネットワーク レベルでファイアウォール ルールとルートが検証されます。
ピアリングしたネットワークは、同じプロジェクトまたは別のプロジェクトに存在できます。次のトレース例では、異なるプロジェクトのピアリングしたネットワークを示しています。
VPC ネットワークのテストの失敗
次の表に、VPC ネットワーク内のテストの一般的な失敗を示します。
失敗の種類 | 説明 | トレース結果 |
---|---|---|
ファイアウォール ルールによってブロックされた | 送信元エンドポイントから送信されるトラフィックまたは送信先エンドポイントに到達するトラフィックが、階層型ファイアウォール ポリシー ルールまたは VPC ファイアウォール ルールによってブロックされます。 |
|
一致するルートがない | 送信先エンドポイントへのルートが見つかりません。 |
|
インスタンスが実行されていない | 送信先 VM インスタンスは存在しますが、実行状態ではありません。 | この場合、パケットがドロップされる可能性があると分析されます。 |
ネクストホップが無効 | VM インスタンスに構成されたネクストホップが存在せず、そのインスタンスへのルートは無効です。 | この場合、パケットがドロップされる可能性があると分析されます。 |
次のスクリーンショットは、上り(内向き)の階層型ファイアウォール ポリシールールによって接続がブロックされたために失敗したトレースを示しています。
共有 VPC ネットワークのテストの失敗
共有 VPC ネットワークでは、ホスト プロジェクトまたはサービス プロジェクトに対する権限がない場合、次の表に示すテストの失敗につながることがあります。
失敗の種類 | 動作 | トレース結果 |
---|---|---|
権限がホスト プロジェクトに限定される | 送信先 IP アドレスが配置されているサービス プロジェクトに対する権限がないため、トレースを行えません。 | 構成分析では、構成分析が中断されましたという結果が示されます(API レスポンスでは、このラベルは Abort の最終状態に対応します)。 |
権限がサービス プロジェクトに限定される |
権限がないため、Google Cloud Console でトレースを行うことや、ホスト プロジェクト ネットワークを選択することができません。 ホスト プロジェクトがネットワーク構成を所有しているため、ホスト プロジェクト内の VPC ファイアウォール ルール、ネットワーク ルート、IP アドレスにアクセスできないと、サービス プロジェクトのリソースに対するトレースを続行できません。 |
接続テストでは、パケットを送信先に配信できるかどうかを判定できないため、全体的なネットワーク到達性の結果は Undetermined になります。 |
VPC ネットワーク ピアリング ネットワークのテストの失敗
VPC ネットワーク ピアリングでは、peered
ネットワークの Google Cloud プロジェクトに対して primary
ネットワークからの権限がない場合、次の表に示すテスト結果につながることがあります。
失敗の種類 | 動作 | トレース結果 |
---|---|---|
ピアリングした VPC ネットワーク内のプロジェクト構成に対する権限がない | 接続テストでトレースできるのは、プライマリ ネットワークのプロジェクトの構成のみに限定されます。 | 構成分析の結果として [パケットは転送されている可能性があります] が表示されます。この結果は、パケットがネットワークからアクセス権のないネットワークに送信されることを示します。この場合、パケットはピアリングしたネットワーク ゲートウェイに転送されます。API レスポンスでは、この状態は Forward の最終状態に対応します。 |
次のトレースパスは、ピアリングされた VPC ネットワークの転送状態を示しています。