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. Google Cloud コンソールで、[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 0interface 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. Google Cloud コンソールで、[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. Google Cloud コンソールで、[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

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

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

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

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

HA VPN ゲートウェイのトンネルの高可用性構成ステータスを確認するには、Google Cloud コンソール、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. Google Cloud コンソールで、[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 の使用時に発生する可能性のある一般的な問題を解決する。トラブルシューティングをご覧ください。