arrow_back

設定 Google Cloud 高可用性 VPN

登录 加入
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

設定 Google Cloud 高可用性 VPN

实验 1 小时 15 分钟 universal_currency_alt 5 积分 show_chart 高级
info 此实验可能会提供 AI 工具来支持您学习。
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

總覽

高可用性 VPN 為高可用性 (HA) 的 Cloud VPN 解決方案,可讓您在單一區域中使用 IPsec VPN 連線,安全地將地端部署網路連線至虛擬私有雲網路。高可用性 VPN 提供可用性達 99.99% 的服務水準協議。

高可用性 VPN 是一項區域性 VPN 解決方案,適用於個別虛擬私有雲。高可用性 VPN 閘道有兩個介面,每個介面都有專屬的公開 IP 位址。您建立高可用性 VPN 閘道時,系統會自動從不同的位址集區中選取兩個公開 IP 位址。高可用性 VPN 若設有兩個通道,Cloud VPN 的服務可用性會非常高,運作時間可達 99.99%。

在這個研究室中,您會建立名為 vpc-demo 的全域虛擬私有雲,並在 中設定兩個自訂子網路。在這個虛擬私有雲中,您會為各個區域新增 Compute Engine 執行個體,並建立第二個虛擬私有雲 (名為 on-prem),以模擬客戶的地端部署資料中心。針對第二個虛擬私有雲,您會在區域 中新增子網路,並建立在該區域中運作的 Compute Engine 執行個體。最後,您會在各個虛擬私有雲中新增高可用性 VPN 和 Cloud Router 路由器,並在每個高可用性 VPN 閘道上設定兩個通道,接著測試設定,驗證是否實現 99.99% 的服務水準協議。

高可用性 VPN 架構圖

目標

在這個研究室中,您會瞭解如何執行下列工作:

  • 建立兩個虛擬私有雲網路和執行個體。
  • 設定高可用性 VPN 閘道。
  • 設定以 VPN 通道進行動態轉送。
  • 設定全域動態轉送模式。
  • 驗證並測試高可用性 VPN 閘道設定。

設定和需求

在每個研究室中,您都能在固定時間內免付費建立新的 Google Cloud 專案,並使用一組資源。

  1. 請透過無痕式視窗登入 Qwiklabs。

  2. 請記下研究室的存取時間 (例如 1:15:00),並確保自己能在時間限制內完成作業。
    研究室不提供暫停功能。如有需要,您可以重新開始,但原先的進度恕無法保留。

  3. 準備就緒後,請按一下「Start lab」

  4. 請記下研究室憑證 (使用者名稱密碼),這組資訊將用於登入 Google Cloud 控制台。

  5. 按一下「Open Google Console」

  6. 按一下「Use another account」,然後複製這個研究室的憑證,並貼入提示訊息。
    如果使用其他憑證,系統會顯示錯誤或向您收取費用

  7. 接受條款,然後略過資源復原頁面。

如何開始研究室及登入控制台

  1. 按一下「Start Lab」按鈕。如果研究室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。左側面板會顯示必須在這個研究室中使用的暫時憑證。

    「憑證」面板

  2. 複製使用者名稱,然後點選「Open Google Console」。接著,研究室會啟動相關資源並開啟另一個分頁,當中顯示「Choose an account」頁面。

    注意事項:請在不同視窗並排開啟分頁。
  3. 點選「Choose an account」頁面中的「使用其他帳戶」,「Sign in」頁面隨即開啟。

    「Choose an account」對話方塊,特別標明了「使用其他帳戶」選項

  4. 貼上您在「連線詳細資訊」面板中複製的使用者名稱,然後複製並貼上密碼。

注意事項:請務必使用「連線詳細資訊」面板中的憑證,而非 Google Cloud Skills Boost 的憑證。另外,請勿在這個研究室中使用您自己的 Google Cloud 帳戶,以免產生費用。
  1. 按過後續的所有頁面:
  • 接受條款及細則。
  • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
  • 請勿申請免費試用。

Cloud 控制台稍後會在這個分頁中開啟。

注意事項:點選畫面左上方的導覽選單,即可查看 Google Cloud 產品與服務清單。 Cloud 控制台選單

啟動 Google Cloud Shell

Google Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。

Google Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。

  1. 在 Cloud 控制台的右上方找到工具列,然後按一下「開啟 Cloud Shell」按鈕。

    特別標明的「Cloud Shell」圖示

  2. 按一下「繼續」

佈建並連線至環境的作業需要一些時間才能完成。連線建立完成即代表已通過驗證,而且專案已設為您的「PROJECT_ID」。示例如下:

在 Cloud Shell 終端機中,特別標明了專案 ID

gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵完成功能。

  • 您可以使用下列指令來列出使用中的帳戶:
gcloud auth list

輸出內容:

Credentialed accounts: - @.com (active)

輸出內容示例:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 您可以使用下列指令來列出專案 ID:
gcloud config list project

輸出內容:

[core] project =

輸出內容示例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注意事項:如需 gcloud 的完整說明,請參閱 gcloud CLI 總覽指南

工作 1:設定全域虛擬私有雲環境

在這項工作中,您會設定含有兩個自訂子網路的全域虛擬私有雲,並在各個可用區中建立兩個 VM 執行個體 (會在所屬的可用區中運作)。

  1. 在 Cloud Shell 中建立名為 vpc-demo 的虛擬私有雲網路:
gcloud compute networks create vpc-demo --subnet-mode custom

輸出內容應與以下所示相似:

Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo]. NAME: vpc-demo SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4:
  1. 使用 Cloud Shell,在區域 中建立子網路 vpc-demo-subnet1
gcloud compute networks subnets create vpc-demo-subnet1 \ --network vpc-demo --range 10.1.1.0/24 --region "{{{project_0.default_region| REGION}}}"
  1. 在區域 中建立子網路 vpc-demo-subnet2
gcloud compute networks subnets create vpc-demo-subnet2 \ --network vpc-demo --range 10.2.1.0/24 --region {{{project_0.default_region_2 | REGION 2}}}
  1. 建立防火牆規則,允許網路中的所有自訂流量:
gcloud compute firewall-rules create vpc-demo-allow-custom \ --network vpc-demo \ --allow tcp:0-65535,udp:0-65535,icmp \ --source-ranges 10.0.0.0/8

輸出內容應與以下所示相似:

Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/firewalls/vpc-demo-allow-custom]. Creating firewall...done. NAME: vpc-demo-allow-custom NETWORK: vpc-demo DIRECTION: INGRESS PRIORITY: 1000 ALLOW: tcp:0-65535,udp:0-65535,icmp DENY: DISABLED: False
  1. 建立防火牆規則,允許從任何位置傳入的 SSH 和 ICMP 流量:
gcloud compute firewall-rules create vpc-demo-allow-ssh-icmp \ --network vpc-demo \ --allow tcp:22,icmp
  1. 在可用區 中建立 VM 執行個體 vpc-demo-instance1
gcloud compute instances create vpc-demo-instance1 --machine-type=e2-medium --zone {{{ project_0.default_zone | "ZONE" }}} --subnet vpc-demo-subnet1

輸出內容應與以下所示相似:

Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/zones/{{{ project_0.default_zone | "ZONE" }}}/instances/vpc-demo-instance1]. NAME: vpc-demo-instance1 ZONE: {{{ project_0.default_zone | "ZONE" }}} MACHINE_TYPE: e2-standard-2 PREEMPTIBLE: INTERNAL_IP: 10.1.1.2 EXTERNAL_IP: 34.71.135.218 STATUS: RUNNING
  1. 在可用區 中建立 VM 執行個體 vpc-demo-instance2
gcloud compute instances create vpc-demo-instance2 --machine-type=e2-medium --zone {{{project_0.default_zone_2 | ZONE2}}} --subnet vpc-demo-subnet2

工作 2:設定模擬的地端部署環境

在這項工作中,您會建立名為 on-prem 的虛擬私有雲,以模擬地端部署環境 (客戶會從這裡連線至 Google Cloud 環境)。

  1. 在 Cloud Shell 中建立名為 on-prem 的虛擬私有雲網路:
gcloud compute networks create on-prem --subnet-mode custom

輸出內容應與以下所示相似:

Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/on-prem]. NAME: on-prem SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4:
  1. 建立名為 on-prem-subnet1 的子網路:
gcloud compute networks subnets create on-prem-subnet1 \ --network on-prem --range 192.168.1.0/24 --region {{{ project_0.default_region | "REGION" }}}
  1. 建立防火牆規則,允許網路中的所有自訂流量:
gcloud compute firewall-rules create on-prem-allow-custom \ --network on-prem \ --allow tcp:0-65535,udp:0-65535,icmp \ --source-ranges 192.168.0.0/16
  1. 建立防火牆規則,允許傳送至執行個體的 SSH、遠端桌面協定、HTTP 和 ICMP 流量:
gcloud compute firewall-rules create on-prem-allow-ssh-icmp \ --network on-prem \ --allow tcp:22,icmp
  1. 在區域 中建立名為 on-prem-instance1 的執行個體:
注意事項:在下列指令中,將 替換為 中的可用區,但不能使用位於 vpc-demo-subnet1 且在當中建立 vpc-demo-instance1 的可用區。 gcloud compute instances create on-prem-instance1 --machine-type=e2-medium --zone zone_name --subnet on-prem-subnet1

工作 3:設定高可用性 VPN 閘道

在這項工作中,您會在各個虛擬私有雲網路中建立高可用性 VPN 閘道,並在每個 Cloud VPN 閘道建立高可用性 VPN 通道。

  1. 使用 Cloud Shell 在 vpc-demo 網路中建立高可用性 VPN:
gcloud compute vpn-gateways create vpc-demo-vpn-gw1 --network vpc-demo --region {{{ project_0.default_region | "REGION" }}}

輸出內容應與以下所示相似:

Creating VPN Gateway...done. NAME: vpc-demo-vpn-gw1 INTERFACE0: 35.242.117.95 INTERFACE1: 35.220.73.93 NETWORK: vpc-demo REGION: {{{ project_0.default_region | "REGION" }}}
  1. on-prem 網路中建立高可用性 VPN:
gcloud compute vpn-gateways create on-prem-vpn-gw1 --network on-prem --region {{{ project_0.default_region | "REGION" }}}
  1. 查看 vpc-demo-vpn-gw1 閘道的詳細資料,確認設定正確無誤:
gcloud compute vpn-gateways describe vpc-demo-vpn-gw1 --region {{{ project_0.default_region | "REGION" }}}

輸出內容應與以下所示相似:

creationTimestamp: '2022-01-25T03:02:20.983-08:00' id: '7306781839576950355' kind: compute#vpnGateway labelFingerprint: 42WmSpB8rSM= name: vpc-demo-vpn-gw1 network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}} selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/vpc-demo-vpn-gw1 vpnInterfaces: - id: 0 ipAddress: 35.242.117.95 - id: 1 ipAddress: 35.220.73.93
  1. 查看 on-prem-vpn-gw1 VPN 閘道的詳細資料,確認設定正確無誤:
gcloud compute vpn-gateways describe on-prem-vpn-gw1 --region {{{ project_0.default_region | "Region" }}}

輸出內容應與以下所示相似:

creationTimestamp: '2022-01-25T03:03:34.305-08:00' id: '3697047034868688873' kind: compute#vpnGateway labelFingerprint: 42WmSpB8rSM= name: on-prem-vpn-gw1 network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/on-prem region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}} selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/on-prem-vpn-gw1 vpnInterfaces: - id: 0 ipAddress: 35.242.106.234 - id: 1 ipAddress: 35.220.88.140

建立 Cloud Router 路由器

  1. vpc-demo 網路中建立 Cloud Router 路由器:
gcloud compute routers create vpc-demo-router1 \ --region {{{ project_0.default_region | "REGION" }}} \ --network vpc-demo \ --asn 65001

輸出內容應與以下所示相似:

Creating router [vpc-demo-router1]...done. NAME: vpc-demo-router1 REGION: {{{ project_0.default_region | "REGION" }}} NETWORK: vpc-demo
  1. on-prem 網路中建立 Cloud Router 路由器:
gcloud compute routers create on-prem-router1 \ --region {{{ project_0.default_region | "REGION" }}} \ --network on-prem \ --asn 65002

工作 4:建立兩個 VPN 通道

在這項工作中,您會在兩個閘道之間建立 VPN 通道。設定高可用性 VPN 時,您會新增兩個通道,從個別閘道連線至遠端閘道。您會在 interface0 建立通道,並連線至遠端閘道的 interface0。接著,您會在 interface1 建立另一個通道,然後連線至遠端閘道的 interface1

在兩個 Google Cloud 虛擬私有雲之間設定高可用性 VPN 通道時,您必須確保 interface0 的通道是連線至遠端 VPN 閘道的 interface0。同理,interface1 的通道必須連線至遠端 VPN 閘道的 interface1

注意事項:在您的自有環境中,如果您為客戶將高可用性 VPN 連線至遠端的地端部署 VPN 閘道,則可以透過下列其中一種方式進行連線:

  • 兩部地端部署 VPN 閘道裝置:在 Cloud VPN 閘道中,各個介面的每個通道都必須連線至各自的對等點閘道。
  • 一部具備兩個介面的地端部署 VPN 閘道裝置:在 Cloud VPN 閘道中,各個介面的每個通道都必須連線至對等點閘道上各自的介面。
  • 一部具有一個介面的地端部署 VPN 閘道裝置:在 Cloud VPN 閘道中,每個介面的兩個通道都必須連線至對等點閘道上的相同介面。

在這個研究室中,您會模擬地端部署環境,並搭配兩個位於 Google Cloud 的 VPN 閘道。請確保其中一個閘道的 interface0 是連線至另一個閘道的 interface0,且 interface1 是連線至遠端閘道的 interface1

  1. vpc-demo 網路中建立第一個 VPN 通道:
gcloud compute vpn-tunnels create vpc-demo-tunnel0 \ --peer-gcp-gateway on-prem-vpn-gw1 \ --region {{{ project_0.default_region | "REGION" }}} \ --ike-version 2 \ --shared-secret [SHARED_SECRET] \ --router vpc-demo-router1 \ --vpn-gateway vpc-demo-vpn-gw1 \ --interface 0

輸出內容應與以下所示相似:

Creating VPN tunnel...done. NAME: vpc-demo-tunnel0 REGION: {{{ project_0.default_region | "REGION" }}} GATEWAY: vpc-demo-vpn-gw1 VPN_INTERFACE: 0 PEER_ADDRESS: 35.242.106.234
  1. vpc-demo 網路中建立第二個 VPN 通道:
gcloud compute vpn-tunnels create vpc-demo-tunnel1 \ --peer-gcp-gateway on-prem-vpn-gw1 \ --region {{{ project_0.default_region | "REGION" }}} \ --ike-version 2 \ --shared-secret [SHARED_SECRET] \ --router vpc-demo-router1 \ --vpn-gateway vpc-demo-vpn-gw1 \ --interface 1
  1. on-prem 網路中建立第一個 VPN 通道:
gcloud compute vpn-tunnels create on-prem-tunnel0 \ --peer-gcp-gateway vpc-demo-vpn-gw1 \ --region {{{ project_0.default_region | "REGION" }}} \ --ike-version 2 \ --shared-secret [SHARED_SECRET] \ --router on-prem-router1 \ --vpn-gateway on-prem-vpn-gw1 \ --interface 0
  1. on-prem 網路中建立第二個 VPN 通道:
gcloud compute vpn-tunnels create on-prem-tunnel1 \ --peer-gcp-gateway vpc-demo-vpn-gw1 \ --region {{{ project_0.default_region | "REGION" }}} \ --ike-version 2 \ --shared-secret [SHARED_SECRET] \ --router on-prem-router1 \ --vpn-gateway on-prem-vpn-gw1 \ --interface 1

工作 5:為各個通道建立邊界閘道通訊協定 (BGP) 對等互連

在這項工作中,您將為 vpc-demoon-prem 虛擬私有雲之間的各個 VPN 通道設定 BGP 對接。高可用性 VPN 必須搭配動態轉送功能,可用性才能達到 99.99%。

  1. 為網路 vpc-demo 中的 tunnel0 建立路由器介面:
gcloud compute routers add-interface vpc-demo-router1 \ --interface-name if-tunnel0-to-on-prem \ --ip-address 169.254.0.1 \ --mask-length 30 \ --vpn-tunnel vpc-demo-tunnel0 \ --region {{{ project_0.default_region | "REGION" }}}

輸出內容應與以下所示相似:

Updated [https://www.googleapis.com/compute/v1/projects/binal-sandbox/regions/{{{ project_0.default_region | "REGION" }}}/routers/vpc-demo-router1].
  1. 為網路 vpc-demo 中的 tunnel0 建立 BGP 對等點:
gcloud compute routers add-bgp-peer vpc-demo-router1 \ --peer-name bgp-on-prem-tunnel0 \ --interface if-tunnel0-to-on-prem \ --peer-ip-address 169.254.0.2 \ --peer-asn 65002 \ --region {{{ project_0.default_region | "REGION" }}}

輸出內容應與以下所示相似:

Creating peer [bgp-on-prem-tunnel0] in router [vpc-demo-router1]...done.
  1. 為網路 vpc-demo 中的 tunnel1 建立路由器介面:
gcloud compute routers add-interface vpc-demo-router1 \ --interface-name if-tunnel1-to-on-prem \ --ip-address 169.254.1.1 \ --mask-length 30 \ --vpn-tunnel vpc-demo-tunnel1 \ --region {{{ project_0.default_region | "REGION" }}}
  1. 為網路 vpc-demo 中的 tunnel1 建立 BGP 對等點:
gcloud compute routers add-bgp-peer vpc-demo-router1 \ --peer-name bgp-on-prem-tunnel1 \ --interface if-tunnel1-to-on-prem \ --peer-ip-address 169.254.1.2 \ --peer-asn 65002 \ --region {{{ project_0.default_region | "REGION" }}}
  1. 為網路 on-prem 中的 tunnel0 建立路由器介面:
gcloud compute routers add-interface on-prem-router1 \ --interface-name if-tunnel0-to-vpc-demo \ --ip-address 169.254.0.2 \ --mask-length 30 \ --vpn-tunnel on-prem-tunnel0 \ --region {{{ project_0.default_region | "REGION" }}}
  1. 為網路 on-prem 中的 tunnel0 建立 BGP 對等點:
gcloud compute routers add-bgp-peer on-prem-router1 \ --peer-name bgp-vpc-demo-tunnel0 \ --interface if-tunnel0-to-vpc-demo \ --peer-ip-address 169.254.0.1 \ --peer-asn 65001 \ --region {{{ project_0.default_region | "REGION" }}}
  1. 為網路 on-prem 中的 tunnel1 建立路由器介面:
gcloud compute routers add-interface on-prem-router1 \ --interface-name if-tunnel1-to-vpc-demo \ --ip-address 169.254.1.2 \ --mask-length 30 \ --vpn-tunnel on-prem-tunnel1 \ --region {{{ project_0.default_region | "REGION" }}}
  1. 為網路 on-prem 中的 tunnel1 建立 BGP 對等點:
gcloud compute routers add-bgp-peer on-prem-router1 \ --peer-name bgp-vpc-demo-tunnel1 \ --interface if-tunnel1-to-vpc-demo \ --peer-ip-address 169.254.1.1 \ --peer-asn 65001 \ --region {{{ project_0.default_region | "REGION" }}}

工作 6:驗證路由器設定

在這項工作中,您會驗證兩個虛擬私有雲中的路由器設定,當中包含:設定防火牆規則來允許各個虛擬私有雲之間的流量、驗證通道的狀態、確認各個虛擬私有雲之間是否能透過 VPN 進行私人連線,並為虛擬私有雲啟用全域轉送模式。

  1. 查看 Cloud Router 路由器 vpc-demo-router1 的詳細資料,確認設定正確無誤:
gcloud compute routers describe vpc-demo-router1 \ --region {{{ project_0.default_region | "REGION" }}}

輸出內容應與以下所示相似:

bgp: advertiseMode: DEFAULT asn: 65001 keepaliveInterval: 20 bgpPeers: - bfd: minReceiveInterval: 1000 minTransmitInterval: 1000 multiplier: 5 sessionInitializationMode: DISABLED enable: 'TRUE' interfaceName: if-tunnel0-to-on-prem ipAddress: 169.254.0.1 name: bgp-on-prem-tunnel0 peerAsn: 65002 peerIpAddress: 169.254.0.2 - bfd: minReceiveInterval: 1000 minTransmitInterval: 1000 multiplier: 5 sessionInitializationMode: DISABLED enable: 'TRUE' interfaceName: if-tunnel1-to-on-prem ipAddress: 169.254.1.1 name: bgp-on-prem-tunnel1 peerAsn: 65002 peerIpAddress: 169.254.1.2 creationTimestamp: '2022-01-25T03:06:23.370-08:00' id: '2408056426544129856' interfaces: - ipRange: 169.254.0.1/30 linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/vpc-demo-tunnel0 name: if-tunnel0-to-on-prem - ipRange: 169.254.1.1/30 linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/vpc-demo-tunnel1 name: if-tunnel1-to-on-prem kind: compute#router name: vpc-demo-router1 network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}} selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/vpc-demo-router1
  1. 查看 Cloud Router 路由器 on-prem-router1 的詳細資料,確認設定正確無誤:
gcloud compute routers describe on-prem-router1 \ --region {{{ project_0.default_region | "REGION" }}}

輸出內容應與以下所示相似:

bgp: advertiseMode: DEFAULT asn: 65002 keepaliveInterval: 20 bgpPeers: - bfd: minReceiveInterval: 1000 minTransmitInterval: 1000 multiplier: 5 sessionInitializationMode: DISABLED enable: 'TRUE' interfaceName: if-tunnel0-to-vpc-demo ipAddress: 169.254.0.2 name: bgp-vpc-demo-tunnel0 peerAsn: 65001 peerIpAddress: 169.254.0.1 - bfd: minReceiveInterval: 1000 minTransmitInterval: 1000 multiplier: 5 sessionInitializationMode: DISABLED enable: 'TRUE' interfaceName: if-tunnel1-to-vpc-demo ipAddress: 169.254.1.2 name: bgp-vpc-demo-tunnel1 peerAsn: 65001 peerIpAddress: 169.254.1.1 creationTimestamp: '2022-01-25T03:07:40.360-08:00' id: '3252882979067946771' interfaces: - ipRange: 169.254.0.2/30 linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/on-prem-tunnel0 name: if-tunnel0-to-vpc-demo - ipRange: 169.254.1.2/30 linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/on-prem-tunnel1 name: if-tunnel1-to-vpc-demo kind: compute#router name: on-prem-router1 network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/on-prem region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}} selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/on-prem-router1

設定防火牆規則,允許遠端虛擬私有雲傳出的流量

設定防火牆規則,允許對等點 VPN 私人 IP 範圍傳出的流量。

  1. 允許從虛擬私有雲網路 on-prem 傳送至 vpc-demo 的流量:
gcloud compute firewall-rules create vpc-demo-allow-subnets-from-on-prem \ --network vpc-demo \ --allow tcp,udp,icmp \ --source-ranges 192.168.1.0/24

輸出內容應與以下所示相似:

Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/firewalls/vpc-demo-allow-subnets-from-on-prem]. Creating firewall...done. NAME: vpc-demo-allow-subnets-from-on-prem NETWORK: vpc-demo DIRECTION: INGRESS PRIORITY: 1000 ALLOW: tcp,udp,icmp DENY: DISABLED: False
  1. 允許從 vpc-demo 傳送至虛擬私有雲網路 on-prem 的流量:
gcloud compute firewall-rules create on-prem-allow-subnets-from-vpc-demo \ --network on-prem \ --allow tcp,udp,icmp \ --source-ranges 10.1.1.0/24,10.2.1.0/24

驗證通道的狀態

  1. 使用 list 指令讓系統列出您剛剛建立的 VPN 通道:
gcloud compute vpn-tunnels list

應有四個 VPN 通道 (每個 VPN 閘道有兩個通道)。輸出內容應與以下所示相似:

NAME: on-prem-tunnel0 REGION: {{{ project_0.default_region | "REGION" }}} GATEWAY: on-prem-vpn-gw1 PEER_ADDRESS: 35.242.117.95 NAME: on-prem-tunnel1 REGION: {{{ project_0.default_region | "REGION" }}} GATEWAY: on-prem-vpn-gw1 PEER_ADDRESS: 35.220.73.93 NAME: vpc-demo-tunnel0 REGION: {{{ project_0.default_region | "REGION" }}} GATEWAY: vpc-demo-vpn-gw1 PEER_ADDRESS: 35.242.106.234 NAME: vpc-demo-tunnel1 REGION: {{{ project_0.default_region | "REGION" }}} GATEWAY: vpc-demo-vpn-gw1 PEER_ADDRESS: 35.220.88.140
  1. 確認 vpc-demo-tunnel0 通道正常運作:
gcloud compute vpn-tunnels describe vpc-demo-tunnel0 \ --region {{{ project_0.default_region | "REGION" }}}

通道輸出內容應會顯示詳細狀態:「Tunnel is up and running」

creationTimestamp: '2022-01-25T03:21:05.238-08:00' description: '' detailedStatus: Tunnel is up and running. id: '3268990180169769934' ikeVersion: 2 kind: compute#vpnTunnel labelFingerprint: 42WmSpB8rSM= localTrafficSelector: - 0.0.0.0/0 name: vpc-demo-tunnel0 peerGcpGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/on-prem-vpn-gw1 peerIp: 35.242.106.234 region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}} remoteTrafficSelector: - 0.0.0.0/0 router: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/vpc-demo-router1 selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/vpc-demo-tunnel0 sharedSecret: '*************' sharedSecretHash: AOs4oVY4bX91gba6DIeg1DbtzWTj status: ESTABLISHED vpnGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/vpc-demo-vpn-gw1 vpnGatewayInterface: 0
  1. 確認 vpc-demo-tunnel1 通道正常運作:
gcloud compute vpn-tunnels describe vpc-demo-tunnel1 \ --region {{{ project_0.default_region | "REGION" }}}

通道輸出內容應會顯示詳細狀態:「Tunnel is up and running」

  1. 確認 on-prem-tunnel0 通道正常運作:
gcloud compute vpn-tunnels describe on-prem-tunnel0 \ --region {{{ project_0.default_region | "REGION" }}}

通道輸出內容應會顯示詳細狀態:「Tunnel is up and running」

  1. 確認 on-prem-tunnel1 通道正常運作:
gcloud compute vpn-tunnels describe on-prem-tunnel1 \ --region {{{ project_0.default_region | "REGION" }}}

通道輸出內容應會顯示詳細狀態:「Tunnel is up and running」

確認是否能透過 VPN 進行私人連線

  1. 前往 Compute Engine,並注意在當中建立 on-prem-instance1 的可用區。

  2. 開啟新的 Cloud Shell 分頁並輸入下列內容,以透過 SSH 連線至執行個體 on-prem-instance1:將 <zone_name> 替換為在當中建立 on-prem-instance1 的可用區。

    gcloud compute ssh on-prem-instance1 --zone zone_name
  3. 輸入「y」確認要繼續操作。

  4. 按下 Enter 鍵兩次,略過建立密碼的步驟。

  5. 從網路 on-prem 中的執行個體 on-prem-instance1 對 10.1.1.2 進行連線偵測 (ping),以便連上網路 vpc-demo 中的執行個體:

ping -c 4 10.1.1.2

連線偵測 (ping) 成功。輸出內容應與以下所示相似:

PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data. 64 bytes from 10.1.1.2: icmp_seq=1 ttl=62 time=9.65 ms 64 bytes from 10.1.1.2: icmp_seq=2 ttl=62 time=2.01 ms 64 bytes from 10.1.1.2: icmp_seq=3 ttl=62 time=1.71 ms 64 bytes from 10.1.1.2: icmp_seq=4 ttl=62 time=1.77 ms --- 10.1.1.2 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 8ms rtt min/avg/max/mdev = 1.707/3.783/9.653/3.391 ms

透過 VPN 進行全域轉送

高可用性 VPN 屬於區域性資源,也是一個 Cloud Router 路由器,這個路由器部署到某個區域後,預設只會偵測到該區域中的路徑。如果要連線的執行個體位於 Cloud Router 路由器所在位置以外的區域,您必須啟用虛擬私有雲的全域轉送模式。這樣 Cloud Router 路由器就能偵測到其他區域的路徑,也能發出路徑通告。

  1. 開啟新的 Cloud Shell 分頁,並將 bgp-routing modevpc-demo 更新為 GLOBAL
gcloud compute networks update vpc-demo --bgp-routing-mode GLOBAL
  1. 驗證變更:
gcloud compute networks describe vpc-demo

輸出內容應與以下所示相似:

autoCreateSubnetworks: false creationTimestamp: '2022-01-25T02:52:58.553-08:00' id: '4735939730452146277' kind: compute#network name: vpc-demo routingConfig: routingMode: GLOBAL selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo subnetworks: - https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/subnetworks/vpc-demo-subnet1 - https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/us-west1/subnetworks/vpc-demo-subnet2 x_gcloud_bgp_routing_mode: GLOBAL x_gcloud_subnet_mode: CUSTOM
  1. 您有一個 Cloud Shell 分頁目前是透過 SSH 連線至 on-prem 網路中的執行個體。請在這個分頁中對區域 中的執行個體 vpc-demo-instance2 進行連線偵測 (ping):
ping -c 2 10.2.1.2

連線偵測 (ping) 成功。輸出內容應與以下所示相似:

PING 10.2.1.2 (10.2.1.2) 56(84) bytes of data. 64 bytes from 10.2.1.2: icmp_seq=1 ttl=62 time=34.9 ms 64 bytes from 10.2.1.2: icmp_seq=2 ttl=62 time=32.2 ms --- 10.2.1.2 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 2ms rtt min/avg/max/mdev = 32.189/33.528/34.867/1.339 ms

工作 7:驗證並測試高可用性 VPN 通道的設定

在這項工作中,您會測試各個高可用性 VPN 通道,並驗證通道的高可用性設定是否成功。

  1. 開啟新的 Cloud Shell 分頁。

  2. 將網路 vpc-demo 中的 tunnel0 關閉:

gcloud compute vpn-tunnels delete vpc-demo-tunnel0 --region {{{ project_0.default_region | "REGION" }}}

系統詢問是否要刪除時,請回覆「y」。接著,網路 on-prem 中相對應的 tunnel0 就會停止運作。

  1. 驗證通道是否已停止運作:
gcloud compute vpn-tunnels describe on-prem-tunnel0 --region {{{ project_0.default_region | "REGION" }}}

詳細狀態應會顯示為「Handshake_with_peer_broken」

creationTimestamp: '2022-01-25T03:22:33.581-08:00' description: '' detailedStatus: Handshake with peer broken for unknown reason. Trying again soon. id: '4116279561430393750' ikeVersion: 2 kind: compute#vpnTunnel localTrafficSelector: - 0.0.0.0/0 name: on-prem-tunnel0 peerGcpGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/vpc-demo-vpn-gw1 peerIp: 35.242.117.95 region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}} remoteTrafficSelector: - 0.0.0.0/0 router: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/on-prem-router1 selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/on-prem-tunnel0 sharedSecret: '*************' sharedSecretHash: AO3jeFtewmjvTMO7JEM5RuyCtqaa status: FIRST_HANDSHAKE vpnGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/on-prem-vpn-gw1 vpnGatewayInterface: 0
  1. 切換至先前的 Cloud Shell 分頁 (其中有已開啟且正在執行的 SSH 工作階段),然後確認網路 vpc-demo 與網路 on-prem 中執行個體之間的連線偵測 (ping) 情形:
ping -c 3 10.1.1.2

輸出內容應與以下所示相似:

PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data. 64 bytes from 10.1.1.2: icmp_seq=1 ttl=62 time=6.31 ms 64 bytes from 10.1.1.2: icmp_seq=2 ttl=62 time=1.13 ms 64 bytes from 10.1.1.2: icmp_seq=3 ttl=62 time=1.20 ms --- 10.1.1.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 5ms rtt min/avg/max/mdev = 1.132/2.882/6.312/2.425 ms

流量現在會透過第二個通道傳送,因此連線偵測 (ping) 還是成功,您已順利設定高可用性 VPN 通道。

工作 8:(選擇性工作) 清除研究室環境的資源

在這項工作中,您會清除已使用的資源 (可以自行選擇是否執行)。結束研究室後,系統會自動為您清除並捨棄所有資源與專案。不過,也建議您瞭解如何自行清除自有環境中的資源,以節省成本並降低資源用量。

刪除 VPN 通道

  • 在 Cloud Shell 中輸入下列指令,將剩餘通道刪除。系統詢問時,請輸入「y」確認各項操作:
gcloud compute vpn-tunnels delete on-prem-tunnel0 --region {{{ project_0.default_region | "REGION" }}} gcloud compute vpn-tunnels delete vpc-demo-tunnel1 --region {{{ project_0.default_region | "REGION" }}} gcloud compute vpn-tunnels delete on-prem-tunnel1 --region {{{ project_0.default_region | "REGION" }}}

移除 BGP 對接

  • 於各個 BGP 對接點輸入下列指令,以移除對接:
gcloud compute routers remove-bgp-peer vpc-demo-router1 --peer-name bgp-on-prem-tunnel0 --region {{{ project_0.default_region | "REGION" }}} gcloud compute routers remove-bgp-peer vpc-demo-router1 --peer-name bgp-on-prem-tunnel1 --region {{{ project_0.default_region | "REGION" }}} gcloud compute routers remove-bgp-peer on-prem-router1 --peer-name bgp-vpc-demo-tunnel0 --region {{{ project_0.default_region | "REGION" }}} gcloud compute routers remove-bgp-peer on-prem-router1 --peer-name bgp-vpc-demo-tunnel1 --region {{{ project_0.default_region | "REGION" }}}

刪除 Cloud Router 路由器

  • 輸入下列各個指令,將路由器刪除。系統詢問時,請輸入「y」確認各項操作:
gcloud compute routers delete on-prem-router1 --region {{{ project_0.default_region | "REGION" }}} gcloud compute routers delete vpc-demo-router1 --region {{{ project_0.default_region | "REGION" }}}

刪除 VPN 閘道

  • 輸入下列各個指令,將 VPN 閘道刪除。系統詢問時,請輸入「y」確認各項操作:
gcloud compute vpn-gateways delete vpc-demo-vpn-gw1 --region {{{ project_0.default_region | "REGION" }}} gcloud compute vpn-gateways delete on-prem-vpn-gw1 --region {{{ project_0.default_region | "REGION" }}}

刪除執行個體

  • 輸入下列指令,將各個執行個體刪除。系統詢問時,請輸入「y」確認各項操作:
gcloud compute instances delete vpc-demo-instance1 --zone {{{ project_0.default_zone | "ZONE" }}} gcloud compute instances delete vpc-demo-instance2 --zone {{{project_0.default_zone_2 | "ZONE"}}} gcloud compute instances delete on-prem-instance1 --zone zone_name 注意事項:將 替換為在當中建立 on-prem-instance1 的可用區。

刪除防火牆規則

  • 輸入下列指令,將防火牆規則刪除。系統詢問時,請輸入「y」確認各項操作:
gcloud compute firewall-rules delete vpc-demo-allow-custom gcloud compute firewall-rules delete on-prem-allow-subnets-from-vpc-demo gcloud compute firewall-rules delete on-prem-allow-ssh-icmp gcloud compute firewall-rules delete on-prem-allow-custom gcloud compute firewall-rules delete vpc-demo-allow-subnets-from-on-prem gcloud compute firewall-rules delete vpc-demo-allow-ssh-icmp

刪除子網路

  • 輸入下列指令,將子網路刪除。系統詢問時,請輸入「y」確認各項操作:
gcloud compute networks subnets delete vpc-demo-subnet1 --region {{{ project_0.default_region | "REGION" }}} gcloud compute networks subnets delete vpc-demo-subnet2 --region {{{project_0.default_region_2 | REGION 2}}} gcloud compute networks subnets delete on-prem-subnet1 --region {{{ project_0.default_region | "REGION" }}}

刪除虛擬私有雲

  • 輸入下列指令,將虛擬私有雲刪除。系統詢問時,請輸入「y」確認各項操作:
gcloud compute networks delete vpc-demo gcloud compute networks delete on-prem

工作 9:重點回顧

在這個研究室中,您設定了高可用性 VPN 閘道、以 VPN 通道進行動態轉送的功能,以及全域動態轉送模式。最後,您確認了高可用性 VPN 的設定正確無誤,而且可以正常運作。

關閉研究室

如果您已完成研究室,請按一下「End Lab」(關閉研究室)。Google Cloud Skills Boost 會移除您使用的資源,並清除所用帳戶。

您可以針對研究室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」(提交)

星級評等代表您的滿意程度:

  • 1 星 = 非常不滿意
  • 2 星 = 不滿意
  • 3 星 = 普通
  • 4 星 = 滿意
  • 5 星 = 非常滿意

如果不想提供意見回饋,您可以直接關閉對話方塊。

如有任何想法、建議或指教,請透過「Support」(支援) 分頁提交。

Copyright 2022 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您