VPN ステータスを確認する

ピア VPN ゲートウェイを構成したら、次のコンポーネントが Cloud VPN と正常に通信していることを確認します。

  • 構成した HA VPN トンネルまたは Classic VPN トンネルのステータスを確認します(動作状態を含む)。
  • HA VPN ゲートウェイのトンネルの高可用性ステータスを確認します。
  • Cloud Router の Border Gateway Protocol(BGP)セッションのステータス、または Cloud Router がアドバタイズしているルートのステータスを確認します。

Cloud VPN の詳細については、次のリソースをご覧ください。

  • Cloud VPN を設定する前に検討すべきベスト プラクティスについては、ベスト プラクティスをご覧ください。

  • Cloud VPN の詳細については、Cloud VPN の概要をご覧ください。

  • このページで使用している用語の定義については、主な用語をご覧ください。

HA VPN トンネルを確認する

次の手順で HA VPN ゲートウェイのインターフェース両方のトンネルのステータスを確認します。

コンソール

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

    [VPN] に移動

  2. VPN トンネルのステータスと BGP セッションのステータスを表示します。

  3. トンネルの詳細を表示するには、トンネルの名前をクリックします。

  4. [ログ] で、Cloud Logging ログの [表示] をクリックします。

  5. また、このトンネルに関連付けられた BGP セッションの変更もできます。

gcloud

トンネルのステータスを表示する手順は 2 つあります。まず、トンネル名とリージョンを特定し、describe コマンド オプションを使用してトンネルの詳細を表示します。

次のコマンドで、以下のように置き換えます。

  • PROJECT_ID: オブジェクトの ID
  • GW_NAME: ゲートウェイの名前
  • REGION: ゲートウェイまたはトンネルが存在するリージョン
  • NAME: トンネルの名前

トンネルのステータスを表示する手順は次のとおりです。

  1. ステータスを確認する VPN トンネルの名前とリージョンを特定します。トンネルは次のいずれかの方法で識別できます。

    1. オプション 1: 次のコマンドを実行して、プロジェクトのすべての VPN トンネルを一覧表します。

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      

      コマンドの出力は次の例のようになります。

      NAME                REGION       GATEWAY      VPN_INTERFACE  PEER_ADDRESS
      tunnel-a-to-b-if-0  us-central1  ha-vpn-gw-a  0              10.242.123.165
      tunnel-a-to-b-if-1  us-central1  ha-vpn-gw-a  1              10.220.75.213
      tunnel-b-to-a-if-0  us-central1  ha-vpn-gw-b  0              10.242.127.148
      tunnel-b-to-a-if-1  us-central1  ha-vpn-gw-b  1              10.220.66.156
      
    2. オプション 2: トンネルを含む VPN ゲートウェイの名前がわかっている場合は、次のコマンドを実行して、ゲートウェイに関連付けられたトンネルのリストを取得します。

      gcloud compute vpn-gateways describe GW_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(tunnels)'
      
  2. トンネルの名前とリージョンを確認したら、vpn-tunnels コマンドの describe オプションを使用してトンネルのステータスを確認します。

    gcloud compute vpn-tunnels describe NAME \
       --region=REGION \
       --project=PROJECT_ID \
       --format='flattened(status,detailedStatus)'
    

    基本ステータス メッセージと詳細メッセージが返されます。コマンドの出力は次の例のようになります。完全なリストの場合は、--format オプションを省略します。

    detailedStatus: Tunnel is up and running.
    

    次の 4 つのコマンドの出力例は、相互に接続されている 2 つの HA VPN ゲートウェイ上のペアのトンネルの完全なリストを示しています。ha-vpn-gw-a では、interface 0 と interface 1 のトンネルが、ha-vpn-gw-b で対応するインターフェースのトンネルに接続されています。

    例 1: tunnel-a-to-b-if-0

     creationTimestamp: '2018-10-11T13:12:33.851-07:00'
     description: ''
     detailedStatus: Tunnel is up and running.
     id: '2919847494518181982'
     ikeVersion: 2
     kind: compute#vpnTunnel
     labelFingerprint: LABEL_FINGERPRINT
     localTrafficSelector:
     — 0.0.0.0/0
     name: tunnel-a-to-b-if-0
     peerIp: GW_A_IF_0_IP
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     remoteTrafficSelector:
     — 0.0.0.0/0
     router: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-0
     sharedSecret: '*************'
     sharedSecretHash: SECRET_HASH
     vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a
     vpnGatewayInterface: 0
    

    例 2: tunnel-a-to-b-if-1

     creationTimestamp: '2018-10-11T13:14:21.630-07:00'
     description: ''
     detailedStatus: Tunnel is up and running.
     id: '178016642781024754'
     ikeVersion: 2
     kind: compute#vpnTunnel
     labelFingerprint: LABEL_FINGERPRINT
     localTrafficSelector:
     —0.0.0.0/0
     name: tunnel-a-to-b-if-1
     peerIp: GW_B_IF_1_IP
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     remoteTrafficSelector:
     — 0.0.0.0/0
     router: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-1
     sharedSecret: '*************'
     sharedSecretHash: SECRET_HASH
     vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a
     vpnGatewayInterface: 1
    

    例 3: tunnel-b-to-a-if-0

     creationTimestamp: '2018-10-11T13:16:19.345-07:00'
     description: ''
     detailedStatus: Tunnel is up and running.
     id: '1183416925692236156'
     ikeVersion: 2
     kind: compute#vpnTunnel
     labelFingerprint: LABEL_FINGERPRINT
     localTrafficSelector:
     — 0.0.0.0/0
     name: tunnel-b-to-a-if-0
     peerIp: GW_A_IF_0_IP
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     remoteTrafficSelector:
     — 0.0.0.0/0
     router: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-0
     sharedSecret: '*************'
     sharedSecretHash: SECRET_HASH
     vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-b
     vpnGatewayInterface: 0
    

    例 4: tunnel-b-to-a-if-1

     creationTimestamp: '2018-10-11T13:19:01.562-07:00'
     description: ''
     detailedStatus: Tunnel is up and running.
     id: '8199247227773914842'
     ikeVersion: 2
     kind: compute#vpnTunnel
     labelFingerprint: LABEL_FINGERPRINT
     localTrafficSelector:
     — 0.0.0.0/0
     name: tunnel-b-to-a-if-1
     peerIp: GW_A_IF_1_IP
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     remoteTrafficSelector:
     — 0.0.0.0/0
     router: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-1
     sharedSecret: '*************'
     sharedSecretHash: SECRET_HASH
     vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-b
     vpnGatewayInterface: 1
    

API

トンネルの詳細を表示するには、次のいずれかの API 呼び出しを使用します。

  • 特定のプロジェクトとリージョン内のすべての VPN トンネルの属性とステータスを一覧表示するには、vpnTunnels.list メソッドを使用して GET リクエストを行います。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
    
  • 特定のプロジェクトとリージョン内の特定のトンネルの属性とステータスを一覧表示するには、vpnTunnels.get メソッドを使用して GET リクエストを行います。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME
    

Classic VPN トンネルを確認する

次の手順で、Classic VPN ゲートウェイのトンネルのステータスを確認します。

コンソール

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

    [VPN] に移動

  2. VPN トンネルのステータスと BGP セッションのステータスを表示します。

  3. トンネルの詳細を表示するには、トンネルの名前をクリックします。

  4. [ログ] で、Logging ログの [表示] をクリックします。

  5. また、このトンネルに関連付けられた BGP セッションの変更もできます。

gcloud

Classic VPN トンネルのステータスの確認手順は、HA VPN の場合と似ています。

次のコマンドで、以下のように置き換えます。

  • PROJECT_ID: オブジェクトの ID
  • GW_NAME: ゲートウェイの名前
  • REGION: ゲートウェイまたはトンネルが存在するリージョン
  • NAME: トンネルの名前

トンネルのステータスを表示する手順は次のとおりです。

  1. ステータスを確認する VPN トンネルの名前とリージョンを特定します。トンネルは次のいずれかの方法で識別できます。

    1. オプション 1: 次のコマンドを実行して、プロジェクトのすべての VPN トンネルを一覧表します。

      gcloud compute vpn-tunnels list
        --project=PROJECT_ID
      
    2. オプション 2: トンネルを含む VPN ゲートウェイの名前がわかっている場合は、次のコマンドを実行して、ゲートウェイに関連付けられたトンネルのリストを取得します。

      gcloud compute target-vpn-gateways describe GW_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(tunnels)'
      
  2. 次のコマンドを実行して、トンネルの説明を表示し、ステータスを判断します。基本ステータス メッセージと詳細メッセージが返されます。完全なリストの場合は、--format オプションを省略します。

    gcloud compute vpn-tunnels describe NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --format='flattened(status,detailedStatus)'
    

API

トンネルの詳細を表示するには、次のいずれかの API 呼び出しを使用します。

  • 特定のプロジェクトとリージョン内のすべての VPN トンネルの属性とステータスを一覧表示するには、vpnTunnels.list メソッドを使用して GET リクエストを行います。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
    
  • 特定のプロジェクトとリージョン内の特定のトンネルの属性とステータスを一覧表示するには、vpnTunnels.get メソッドを使用して GET リクエストを行います。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME
    

Classic VPN 転送ルールを確認する

次の手順で、Classic VPN ゲートウェイ用に作成した転送ルールを確認します。

コンソール

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

    [VPN] に移動

  2. [ゲートウェイの名前] をクリックします。

  3. VPN 詳細ページで、作成した転送ルールを確認します。

gcloud

特定のリージョンの Classic VPN ゲートウェイの転送ルールを表示するには、次のコマンドを実行します。

gcloud compute target-vpn-gateways describe GW_NAME
    --region=REGION \
    --project=PROJECT_ID

API

特定のリージョンの Classic VPN ゲートウェイの転送ルールを表示するには、targetVpnGateways.get メソッドを使用します。RESOURCE_ID は、ゲートウェイの名前に置き換えます。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetVpnGateways/RESOURCE_ID

トンネルのステータス メッセージを解釈する

Cloud de Confiance コンソールまたは Google Cloud CLI に返されたトンネル ステータス メッセージの意味については、次の表をご覧ください。

ステータス 詳細なステータス メッセージ 注
リソースを割り当てています リソースを割り当てています。VPN トンネルは間もなく開始されます。 新しく作成された Cloud VPN トンネルの初期状態です。
完全に構成されるまで待機しています ルート構成を待機しています。 ルートまたはルーティング構成を準備しています。
最初の handshake ピアとの handshake が不明な理由により中断しました。間もなく再試行します。 ピア VPN とのフェーズ 1(IKE SA)ネゴシエーションが進行中です。少なくとも 1 回は失敗した可能性があります。
確立済み トンネルが動作しています。 トンネルが動作し、ルートが構成されています。
受信パケットがありません ピアからの受信パケットがありません ピア VPN ゲートウェイからのトラフィックは受信されていません。

HA VPN ゲートウェイの高可用性ステータスを確認する

HA VPN ゲートウェイのトンネルの高可用性構成ステータスを確認するには、 Cloud de Confiance コンソール、compute vpn-gateways get-status コマンド、または vpnGateways.getStatus メソッドを使用します。

HA VPN ゲートウェイが接続されている各ピア ゲートウェイに関連付けられた VPN トンネルの高可用性の冗長性要件の状態が出力に表示されます。

ピア ゲートウェイは、別の HA VPN ゲートウェイまたは外部 VPN ゲートウェイにできます。複数のピア ゲートウェイが HA VPN ゲートウェイに接続されている場合、複数の高可用性構成ステータス(ピア ゲートウェイごとに 1 つのステータス)が表示されます。

コマンドの出力では、適切なトンネルの数量とカバレッジが次のように表されます。

  • 適切な冗長性(カバレッジ)を備えた VPN ゲートウェイのステータスは、次のとおりです。
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_MET
  • 適切な冗長性が構成されていない VPN ゲートウェイのステータスは、次のとおりです。
    HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_NOT_MET
  • HA VPN ゲートウェイと別の HA VPN ゲートウェイの間またはピア ゲートウェイの間に十分なトンネルが構成されていない場合、コマンドの出力には次のステータスが表示されます。
    redundancyUnsatisfiedReason: INCOMPLETE_TUNNELS_COVERAGE

詳細については、ログと指標を表示するをご覧ください。

コンソール

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

    [VPN] に移動

  2. ゲートウェイとトンネルの詳細を表示するには、ゲートウェイ名をクリックします。HA VPN ゲートウェイの場合、ゲートウェイの高可用性ステータスも表示できます。

gcloud

HA VPN ゲートウェイのトンネルのステータスを表示するには、次のコマンドを実行します。次のように置き換えます。

  • GW_NAME: HA VPN ゲートウェイの名前
  • REGION: ゲートウェイが存在するリージョン
gcloud compute vpn-gateways get-status GW_NAME \
    --region=REGION

次のコマンドの出力例は、2 つのインターフェースを持つピア ゲートウェイに接続された HA VPN ゲートウェイの情報を示しています。

  peerGateways:
  — peerExternalGateway: peer-gw
  tunnels:
  — localGatewayInterface: 0
    peerGatewayInterface: 0
    tunnelUrl:
    https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
    regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0
  — localGatewayInterface: 1
    peerGatewayInterface:1
    tunnelUrl:
    https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
    regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1
    HighAvailabilityRedundancyRequirementState:
      state: CONNECTION_REDUNDANCY_MET

次のコマンドの出力例は、相互に接続された 2 つの HA VPN ゲートウェイを示しています。このタイプの構成では、各 HA VPN ゲートウェイ名のコマンドを実行します。

  • ha-vpn-gw-a のステータスを取得すると、ha-vpn-gw-b との接続が表示されます。

    peerGateways:
    — peerGcpGateway: ha-vpn-gw-b
    tunnels:
    — localGatewayInterface: 0
      peerGatewayInterface: 0
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-a-to-b-if-0
    — localGatewayInterface: 1
      peerGatewayInterface: 1
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-a-to-b-if-1
      HighAvailabilityRedundancyRequirementState:
        state: CONNECTION_REDUNDANCY_MET
    
  • ha-vpn-gw-b のステータスを取得すると、ha-vpn-gw-a との接続が表示されます。

    peerGateways:
    — peerGcpGateway: ha-vpn-gw-a
    tunnels:
    — localGatewayInterface: 0
      peerGatewayInterface: 0
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-b-to-a-if-0
    — localGatewayInterface: 1
      peerGatewayInterface: 1
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-b-to-a-if-1
      HighAvailabilityRedundancyRequirementState:
        state: CONNECTION_REDUNDANCY_MET
    

次のコマンドの出力例は、1 つの HA VPN ゲートウェイが 2 つの接続と 4 つの IP アドレスを持つ AWS 仮想ゲートウェイに接続された状態を示しています。

  peerGateways:
  - peerExternalGateway: peer-gw
  tunnels:
   - localGatewayInterface: 0
     peerGatewayInterface: 0
     tunnelUrl:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
     regions/us-central1/vpnTunnels/tunnel-a-to-aws-connection-0-ip0
   - localGatewayInterface: 0
     peerGatewayInterface: 1
     tunnelUrl:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
     regions/us-central1/vpnTunnels/tunnel-a-to-aws-connection-0-ip1
   - localGatewayInterface: 1
     peerGatewayInterface: 2
     tunnelUrl:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
     regions/us-central1/vpnTunnels/tunnel-a-to-aws-connection-1-ip0
   - localGatewayInterface: 1
     peerGatewayInterface: 3
     tunnelUrl:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
     regions/us-central1/vpnTunnels/tunnel-a-to-aws-connection-1-ip1
     HighAvailabilityRedundancyRequirementState:
       state: CONNECTION_REDUNDANCY_MET

次のコマンドの出力例は、1 つのトンネルで互いに接続された 2 つの HA VPN ゲートウェイを示しています。この構成は、99.99% の可用性 SLA を満たしていません。

  peerGateways:
    - peerGcpGateway: ha-vpn-gw-a
    tunnels:
    - localGatewayInterface: 0
      peerGatewayInterface: 0
      tunnelUrl:
      https://www.googleapis.com/compute/v1/projects/PROJECT_ID/
      regions/us-central1/vpnTunnels/tunnel-b-to-a-if-0
      HighAvailabilityRedundancyRequirementState:
        state: CONNECTION_REDUNDANCY_NOT_MET
      detailedStatus:
        redundancyUnsatisfiedReason: INCOMPLETE_TUNNELS_COVERAGE

API

特定のプロジェクトとリージョン内の特定の HA VPN ゲートウェイのステータスを取得するには、vpnGateways.getStatus メソッドを使用して GET リクエストを行います。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways/GATEWAY_NAME/getStatus

BGP ステータスを確認する

BGP で動的ルーティングを使用するトンネルの場合、Cloud Router のステータスを確認して、ルーターの BGP セッションのステータスや Cloud Router がアドバタイズしているルートのステータスなどの詳細を表示できます。

次のステップ

  • 高可用性と高スループットのシナリオ、または複数のサブネット シナリオを使用する。高度な構成をご覧ください。
  • Cloud VPN の使用時に発生する可能性のある一般的な問題を解決する。トラブルシューティングをご覧ください。