設定對等互連 VPN 閘道後,請檢查下列元件,確保這些元件可正確與 Cloud VPN 通訊:
- 檢查您設定的 HA VPN 或傳統版 VPN 通道的狀態,包括運作狀態。
- 檢查高可用性 VPN 閘道上的通道高可用性狀態。
- 查看 Cloud Router 邊界閘道協定 (BGP) 工作階段的狀態,或 Cloud Router 正在通告的路徑。
如要進一步瞭解 Cloud VPN,請參閱下列資源:
- 如要瞭解設定 Cloud VPN 前應考慮的最佳做法,請參閱「最佳做法」。 
- 如要進一步瞭解 Cloud VPN,請參閱 Cloud VPN 總覽。 
- 如需本頁所用詞彙的定義,請參閱「重要術語」。 
檢查高可用性 VPN 通道
請按照這個程序,檢查高可用性 VPN 閘道兩個介面的通道狀態。
主控台
- 前往 Google Cloud 控制台的「VPN」VPN頁面。 
- 查看 VPN 通道狀態和 BGP 工作階段狀態。 
- 如要查看通道詳細資料,請按一下通道的「名稱」。 
- 在「Logs」下方,按一下「View」,查看 Cloud Logging 記錄。 
- 您也可以修改與此通道相關聯的 BGP 工作階段。 
gcloud
查看隧道狀態有兩個步驟。首先,請找出隧道名稱和區域,然後使用 describe 指令選項查看隧道詳細資料。
在下列指令中,請這樣取代:
- PROJECT_ID:專案 ID
- GW_NAME:閘道名稱
- REGION:閘道或通道所在的區域
- NAME:通道名稱
如要查看隧道狀態,請完成下列步驟:
- 找出您需要檢查狀態的 VPN 通道名稱和地區。您可以使用下列任一方法來識別隧道: - 選項 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:如果您知道包含通道的 VPN 閘道的名稱,請執行下列指令,擷取閘道相關聯通道的清單: - gcloud compute vpn-gateways describe GW_NAME \ --region=REGION \ --project=PROJECT_ID \ --format='flattened(tunnels)' 
 
- 知道隧道的名稱和區域後,請使用 - 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. - 下列四個指令輸出範例會顯示兩個互相連線的高可用性 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 
檢查傳統版 VPN 通道
請按照這個程序,檢查 Classic VPN 閘道上的通道狀態。
主控台
- 前往 Google Cloud 控制台的「VPN」VPN頁面。 
- 查看 VPN 通道狀態和 BGP 工作階段狀態。 
- 如要查看通道詳細資料,請按一下通道的「名稱」。 
- 在「Logs」下方,按一下「View」查看記錄記錄。 
- 您也可以修改與此通道相關聯的 BGP 工作階段。 
gcloud
檢查傳統版 VPN 通道狀態的程序與高可用性 VPN 類似。
在下列指令中,請這樣取代:
- PROJECT_ID:專案 ID
- GW_NAME:閘道名稱
- REGION:閘道或通道所在的區域
- NAME:通道名稱
如要查看隧道狀態,請完成下列步驟:
- 找出您需要檢查狀態的 VPN 通道名稱和地區。您可以使用下列任一方法來識別隧道: - 選項 1:如要列出專案中的所有 VPN 通道,請執行下列指令: - gcloud compute vpn-tunnels list --project=PROJECT_ID 
- 選項 2:如果您知道包含通道的 VPN 閘道的名稱,請執行下列指令,擷取閘道相關聯通道的清單: - gcloud compute target-vpn-gateways describe GW_NAME \ --region=REGION \ --project=PROJECT_ID \ --format='flattened(tunnels)' 
 
- 請執行下列指令,描述隧道以判斷其狀態。系統會傳回基本狀態訊息和更詳細的訊息。如需完整清單,請省略 - --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 
檢查傳統版 VPN 轉送規則
請按照這個程序檢查為傳統版 VPN 閘道建立的轉送規則。
主控台
- 前往 Google Cloud 控制台的「VPN」VPN頁面。 
- 按一下「閘道名稱」。 
- 在「VPN 詳細資料」頁面中,查看您建立的轉送規則。 
gcloud
如要查看特定區域中 Classic VPN 網關的轉送規則,請執行下列指令:
gcloud compute target-vpn-gateways describe GW_NAME
    --region=REGION \
    --project=PROJECT_ID
API
如要查看特定區域中傳統版 VPN 閘道的轉送規則,請使用 targetVpnGateways.get 方法。將 RESOURCE_ID 替換為閘道的名稱。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetVpnGateways/RESOURCE_ID
解讀通道狀態訊息
如要解讀控制台或 Google Cloud CLI 中的通道狀態訊息,請參閱下表。 Google Cloud
| 狀態 | 詳細狀態訊息 | 附註 | 
|---|---|---|
| 正在配置資源。 | 正在配置資源。VPN 通道即將啟動。 | 新建立的 Cloud VPN 通道的初始狀態。 | 
| 正在等待完整設定 | 正在等待路徑設定。 | 正在準備路徑或轉送設定。 | 
| 初次交握 | 與對等端的握手因不明原因而中斷。系統即將再次嘗試。 | 與對等 VPN 進行階段 1 (IKE SA) 協商。可能至少失敗了一次。 | 
| 已建立 | 通道已啟動且正在執行。 | 通道已啟動,且已設定路徑。 | 
| 沒有任何連入封包 | 沒有來自對等端的封包。 | 沒有從對等 VPN 閘道接收任何流量。 | 
檢查高可用性 VPN 閘道的高可用性狀態
如要檢查高可用性 VPN 閘道上通道的高可用性設定狀態,請使用 Google Cloud 控制台、compute vpn-gateways get-status 指令或 vpnGateways.getStatus 方法。
輸出內容會顯示高可用性冗餘需求狀態,適用於與 HA VPN 閘道連線的每個對等點閘道相關聯的 VPN 通道。
對等互連閘道可以是另一個高可用性 VPN 閘道或外部 VPN 閘道。如果有多個對等互連閘道連線至高可用性 VPN 閘道,系統會顯示多個高可用性設定狀態,每個對等互連閘道各顯示一個狀態。
指令輸出內容會以以下方式指出正確的隧道數量和涵蓋率:
- 設定了足夠備援 (涵蓋範圍) 的 VPN 閘道會顯示下列狀態:
 HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_MET。
- 未設定足夠備援功能的 VPN 閘道會顯示以下狀態:
 HighAvailabilityRedundancyRequirementState: CONNECTION_REDUNDANCY_NOT_MET。
- 如果高可用性 VPN 閘道與另一個高可用性 VPN 閘道或對等互連閘道之間的通道數量不足,指令輸出內容會顯示以下狀態:
 redundancyUnsatisfiedReason: INCOMPLETE_TUNNELS_COVERAGE。
詳情請參閱「查看記錄和指標」。
主控台
- 前往 Google Cloud 控制台的「VPN」VPN頁面。 
- 如要查看閘道和隧道的閘道詳細資料,請按一下「閘道名稱」。對於高可用性 VPN 閘道,您也可以查看閘道的高可用性狀態。 
gcloud
如要顯示 HA VPN 閘道的通道狀態,請執行下列指令。更改下列內容:
- GW_NAME:高可用性 VPN 閘道的名稱
- REGION:閘道所在的區域
gcloud compute vpn-gateways get-status GW_NAME \
    --region=REGION
以下指令輸出範例會顯示 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
以下指令輸出範例是針對兩個互相連線的高可用性 VPN 閘道。針對這類設定,請為每個高可用性 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
下列指令輸出範例是針對一個高可用性 VPN 閘道,該閘道已連線至具有兩個連線和四個 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
以下指令輸出範例適用於兩個互相連線的高可用性 VPN 閘道,並使用單一通道連線。這項設定不符合 99.99% 可用性的服務水準協議:
  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 正在通告的路徑。