本教學課程說明如何在 Trusted Cloud by S3NS 和 Microsoft Azure 之間,建立高可用性 (HA) 虛擬私人網路 (VPN) 連線。您可以使用這些高可用性 VPN 服務,在Trusted Cloud by S3NS 的虛擬私有雲 (VPC) 網路和 Microsoft Azure 虛擬網路閘道之間直接通訊。
本文假設您已熟悉虛擬私有雲網路、邊界閘道通訊協定 (BGP)、VPN 和網際網路通訊協定安全性 (IPsec) 通道的基本概念。
Trusted Cloud 提供高可用性 (HA) VPN 服務,可透過 IPsec VPN 連線,將虛擬私有雲網路連線至 Trusted Cloud以外的環境,例如 Microsoft Azure。高可用性 VPN 按照 Google 最佳做法設定時,服務可用性服務水準協議 (SLA) 為 99.99%。
架構總覽
下圖顯示本文所述的架構。
圖中顯示的架構包含下列元件:
- Cloud Router:全分散式代管服務,可為 VPC 網路提供使用 BGP 的動態轉送。 Trusted Cloud
- 高可用性 VPN 閘道:由 Google 管理的 VPN 閘道,在 Trusted Cloud上執行。每個高可用性 VPN 閘道都是區域資源,有兩個介面:介面 0 和 1。每個介面都有自己的外部 IP 位址。
- VPN 通道:從 Google Cloud 上的高可用性 VPN 閘道到 Azure 上的對等互連 VPN 閘道的連線,加密流量會通過這些連線。 Trusted Cloud
- 虛擬網路閘道:在 Azure 雲端服務中定義的兩個私有網路。
每個虛擬網路閘道連線都附有兩個通道,這些通道已預先設定指向單一客戶閘道,在本例中,該閘道是 Trusted Cloud中的高可用性 VPN 閘道介面。採用這項設定時,如要達到 99.99% 服務可用性的服務水準協議,至少需要兩個 Cloud VPN 通道。
程序所需的 IP 位址
如要完成本文中的程序,您會在 Trusted Cloud 和 Azure 中使用各種 IP 位址。建立資源時,系統會自動指派部分 IP 位址。
對於未自動指派的位址,您可以根據可用的 IP 位址和貴機構的需求定義這些 IP 位址。
Trusted Cloud 資源需要下列 IP 位址:
- 建立虛擬私有雲網路的子網路時,需要使用者定義的 IP 位址範圍。
- 建立高可用性 VPN 閘道後,系統會自動為高可用性 VPN 閘道指派兩個外部 IP 位址。 Trusted CloudGoogle 會為閘道的兩個介面各指派一個 IP 位址。您需要這些介面的 IP 位址,才能在 Azure 中設定本機網路閘道。
在 Trusted Cloud中建立高可用性 VPN 通道時,每個通道都需要 Cloud Router 的 BGP 介面,以及 Azure 中作用中-作用中虛擬網路閘道 (VPN 閘道) 的 BGP 介面。針對每個通道,在
169.254.21.*
和169.254.22.*
範圍的 /30 區塊中,決定一對連結本機 BGP 對等互連 IPv4 位址。這些範圍是 Azure APIPA BGP 對等互連 IPv4 位址的有效範圍。您必須選取四個 IP 位址。您選取的 BGP 對等互連 IPv4 位址,在虛擬私有雲網路的所有 Cloud Router 中都必須是唯一的。
Azure 資源需要下列 IP 位址:
- 建立虛擬網路 (VNet) 時,VNet 需要網路的 IP 位址空間,以及網路子網路的 IP 位址空間。您可以使用預設位址空間,或輸入使用者定義的位址空間。
- 建立作用中/作用中虛擬網路閘道 (VPN 閘道) 時,閘道需要子網路位址範圍。您可以選擇使用預設範圍,或輸入使用者定義的範圍。
- 為作用中/作用中 VPN 閘道設定 BGP 時,閘道需要兩個 APIPA BGP 對等互連 IP 位址。如先前所述,Azure APIPA BGP 對等互連 IP 位址的有效範圍為
169.254.21.*
和169.254.22.*
。 - 建立作用中-作用中 VPN 閘道後,Azure 會自動為每個閘道介面指派外部 IP 位址。您需要這些 IP 位址,才能在 Trusted Cloud中設定對等互連 VPN 閘道。
定義 IP 位址時,請務必為每個網路使用一組不重複的 IP 位址。
目標
- 建立 Azure 虛擬網路 (VNet) 和主動-主動虛擬網路閘道 (VPN 閘道)。
- 在虛擬私有雲網路、Cloud Router、高可用性 VPN 閘道、對等互連 VPN 閘道,以及兩個具有 BGP 工作階段的高可用性 VPN 通道上,建立必要元件。 Trusted Cloud
- 在 Azure 中建立兩個本機網路閘道和兩個 VPN 連線。驗證 Cloud Router 設定,並在 Trusted Cloud中檢查高可用性 VPN 通道的狀態。
- 測試虛擬私有雲網路 Trusted Cloud 與 Azure 虛擬網路 (VNet) 之間的 Cloud VPN 連線。
費用
本文中的程序會使用 Trusted Cloud的計費元件,包括:
如要估算 Trusted Cloud 元件的費用,請使用 Google Cloud Pricing Calculator。
本文中的程序會使用 Microsoft Azure Cloud 服務的計費元件,包括:
- VPN 閘道
- 區域網路閘道
如要估算 Azure 元件的費用,請使用 Azure Pricing Calculator。
事前準備
-
In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.
-
Verify that billing is enabled for your Trusted Cloud project.
-
Enable the Compute Engine API.
-
In the Trusted Cloud console, activate Cloud Shell.
-
請確認您具備必要的管理員角色,才能設定網路元件:
- 網路管理員:
compute.networkAdmin
- 安全性管理員:
compute.securityAdmin
- Compute 管理員:
compute.admin
如要進一步瞭解這些角色的用途,請參閱「網路相關職務的 IAM 角色」。
- 網路管理員:
- Azure 虛擬網路 (VNet),可讓 Azure 資源與 Google Cloud VPN 通訊。
- 作用中-作用中虛擬網路閘道 (VPN 閘道),可讓閘道虛擬機器 (VM) 的兩個執行個體,與 Google Cloud VPN 建立 VPN 通道。
- 登入 Azure 入口網站。
- 在「Search resources, service, and docs (G+/)」(搜尋資源、服務和文件 (G+/)) 方塊中,輸入
virtual network
。 - 在「Marketplace」結果清單中,選取「Virtual network」。
- 在「虛擬網路」頁面中,選取「建立」。
在「建立虛擬網路」頁面的「基本」分頁中,為「專案詳細資料」和「執行個體詳細資料」設定下列 VNet 設定:
- 在「訂閱」方塊中,確認列出的訂閱項目是否正確。如要變更訂閱方案,請從清單中選取訂閱項目。
- 如要指定資源群組,請按一下「建立新群組」,然後輸入名稱,例如
azure‑to‑google‑resgroup
做為資源群組名稱。 - 在「Name」(名稱) 方塊中,輸入 VNet 的名稱,例如
azure‑to‑google‑network
。 在「Region」(區域) 方塊中,選取 VNet 的位置。
您選取的位置會決定部署至這個虛擬網路的資源儲存位置。
在「IP Addresses」(IP 位址) 分頁的「IPv4 address space」(IPv4 位址空間) 方塊中,使用 Azure 建立的預設位址空間和子網路。
在「Security」分頁中,保留「BastionHost」、「DDos Protection Standard」和「Firewall」的預設值「Disable」。
如要驗證 VNet 設定,請選取「檢閱 + 建立」。
設定驗證完成後,請選取「建立」。
- 第一個程序會定義專案和執行個體詳細資料
- 第二個程序會指定閘道的 IP 位址。
- 登入 Azure 入口網站。
- 在「Search resources, service, and docs (G+/)」中,
輸入
virtual network gateway
。 - 在搜尋結果的「服務」下方,找出並選取「虛擬網路閘道」。
- 在「虛擬網路閘道」頁面中,選取「建立」。
在「建立虛擬網路閘道」頁面的「基本」分頁中,為「專案詳細資料」和「執行個體詳細資料」區段的選項指定下列值:
- 在「訂閱」清單中,選取要使用的訂閱方案。
- 選用:在「閘道子網路位址範圍」方塊中,輸入子網路的位址範圍。
- 確認「資源群組」顯示的資源群組,與您在這個頁面選取的虛擬網路相符。
- 在「Name」(名稱) 中輸入閘道名稱,例如
azure‑to‑google‑gateway
。 - 在「Region」(區域) 部分,選取您建立 VNET 時使用的區域。
- 在「閘道類型」中選取「VPN」。
在「VPN type」中,選取「Route-based」VPN 類型。
在「SKU」清單中,選取要使用的閘道 SKU。
下拉式選單中列出的 SKU 會因您選取的 VPN 類型而異。
在「Generation」(世代) 清單中,選取要使用的世代。
在「虛擬網路」清單中,選取您先前建立的虛擬網路。
請保留這個頁面,以便執行下一個程序。
在「Create virtual network gateway」(建立虛擬網路閘道) 頁面的「Basics」(基本) 分頁中,按照下列步驟建立作用中-作用中 VPN 閘道使用的外部 IP 位址:
在「Public IP address」(公開 IP 位址) 中,選取「Create new」(建立新項目)。
Azure 會自動將外部 IP 位址指派給您的作用中-作用中 VPN 閘道。
在「Public IP address name」(公開 IP 位址名稱) 方塊中,輸入外部 IP 位址執行個體的名稱,例如
azure‑to‑google‑network‑ip1
。在「Enable active-active mode」(啟用主動-主動模式) 部分,選取「Enabled」(已啟用)。
選用:如果所在區域支援,請設定可用區。 例如,您可以選取「區域備援」。
在「Second Public IP Address」(第二個公開 IP 位址) 中,選取「Create new」(建立新 IP 位址)。
在「Public IP address name」(公開 IP 位址名稱) 方塊中,輸入第二個外部 IP 位址的名稱,例如
azure‑to‑google‑network‑ip2
。在「設定 BGP」部分,選取「已啟用」。
如果是自治系統編號 (ASN),請將 ASN 設為允許的有效值。
設定Trusted Cloud中通道的 BGP 工作階段時,您會使用這個 ASN 值。請記錄這個值做為
AZURE_ASN
,以便參照這個作用中-作用中 VPN 閘道。在「Custom Azure APIPA BGP IP address」(自訂 Azure APIPA BGP IP 位址) 部分,輸入第一個 APIPA BGP IP 位址,並將該值記錄為
AZURE_BGP_IP_0
。 Azure APIPA BGP IP 位址的有效範圍為169.254.21.*
和169.254.22.*
。在「Second Custom Azure APIPA BGP IP address」(第二個自訂 Azure APIPA BGP IP 位址) 中,輸入第二個 APIPA BGP IP 位址,並將該值記錄為
AZURE_BGP_IP_1
。在 Trusted Cloud中設定 BGP 工作階段時,您會使用這些變數。
如要執行驗證,請選取「檢查並建立」。
驗證完成後,請選取「建立」,部署 VPN 閘道。
- 在您剛建立的「作用中-作用中」閘道「總覽」頁面中,找出閘道的外部 IP 位址。
- 記下畫面上的 IP 位址:
- 將第一個外部 IP 位址記錄為
AZURE_GW_IP_0
。 - 將第二個外部 IP 位址記錄為
AZURE_GW_IP_1
。
- 將第一個外部 IP 位址記錄為
- 虛擬私有雲網路。
- 高可用性 VPN 閘道。
- Cloud Router。
- 對等互連 VPN 閘道。
- 具有 BGP 工作階段的高可用性 VPN 通道。
在 Trusted Cloud Shell 中,確認您使用的是建立或選取的 Cloud 專案:
gcloud config set project YOUR_PROJECT_ID export PROJECT_ID=`gcloud config list --format="value(core.project)"`
使用您的 Cloud 專案 ID 取代
YOUR_PROJECT_ID
。建立包含單一子網路的自訂虛擬私有雲網路:
gcloud compute networks create NETWORK \ --subnet-mode SUBNET_MODE \ --bgp-routing-mode BGP_ROUTING_MODE
更改下列內容:
NETWORK
:網路名稱,例如google‑to‑azure‑vpc
。SUBNET_MODE
:將子網路模式設為custom
。
BGP_ROUTING_MODE
:BGP 路由模式設為global
。指令應如下列範例所示:
gcloud compute networks create google-to-azure-vpc \ --subnet-mode custom \ --bgp-routing-mode global
建立一個子網路來代管測試 VM:
gcloud compute networks subnets create SUBNET_NAME \ --network NETWORK \ --region SUBNET_REGION \ --range SUBNET_IP_ADDRESS_RANGE
更改下列內容:
指令應如下列範例所示:
gcloud compute networks subnets create subnet-central1 \ --network google-to-azure-vpc \ --region us-central1 \ --range 10.1.1.0/24
建立高可用性 VPN 閘道:
gcloud compute vpn-gateways create HA_VPN_GATEWAY_NAME \ --network NETWORK \ --region REGION
將
HA_VPN_GATEWAY_NAME
替換為高可用性 VPN 閘道的名稱。指令應如下列範例所示:
gcloud compute vpn-gateways create ha-vpn-gw-a \ --network google-to-azure-vpc \ --region us-central1
您建立的閘道應類似下列範例輸出內容:
Created [https://www.googleapis.com/compute/v1/projects/YOUR_PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a]. NAME INTERFACE0 INTERFACE1 NETWORK REGION ha-vpn-gw-a 203.0.113.1 203.0.113.2 google-to-azure-vpc us-central1
輸出內容會列出自動指派給各個閘道介面 (
INTERFACE0
和INTERFACE1
) 的外部 IPv4 位址。在 Azure 上設定本機網路閘道時,您需要這些 IP 位址:- 在
HA_VPN_INT_0
中記錄INTERFACE0
的 IP 位址。 - 在
HA_VPN_INT_1
中記錄INTERFACE1
的 IP 位址。
- 在
建立 Cloud Router:
gcloud compute routers create ROUTER_NAME \ --region REGION \ --network NETWORK \ --asn GOOGLE_ASN \
更改下列內容:
ROUTER_NAME
:Cloud Router 的名稱。REGION
:您要建立高可用性 VPN 閘道和通道的區域。GOOGLE_ASN
:您要建立的 Cloud Router 私人自治系統編號 (ASN)。這可以是範圍64512-65534
或4200000000-4294967294
中的任何私人 ASN,但不得在同個地區和網路中用做對等 ASN。
指令應如下列範例所示:
gcloud compute routers create cloud-router \ --region us-central1 \ --network google-to-azure-vpc \ --asn 65534
AZURE_GW_NAME
:Azure 作用中-作用中 VPN 閘道的名稱AZURE_GW_IP_0
:對等互連閘道中某個介面的外部 IP 位址AZURE_GW_IP_1
:對等閘道中另一個介面的外部 IP 位址TUNNEL_NAME_IF0
和TUNNEL_NAME_IF1
:通道的名稱;如果為通道命名時包含閘道介面名稱,日後有助於識別通道。AZURE_GW_NAME
:先前建立的外部對等互連閘道名稱AZURE_GW_INT_NUM_0
和AZURE_GW_INT_NUM_1
:先前在外部對等閘道上設定的介面編號。IKE_VERS
:針對 IKEv2 使用2
。SHARED_SECRET
:預先共用金鑰 (共用密鑰),必須與您在 Azure 中設定 VPN 連線時指定的預先共用金鑰相符。如需相關建議,請參閱「產生高強度的預先共用金鑰」。HA_VPN_GATEWAY_NAME
:高可用性 VPN 閘道的名稱。INT_NUM_0
:您先前建立的高可用性 VPN 閘道上第一個介面的編號0
。INT_NUM_1
:您先前建立的高可用性 VPN 閘道第二個介面的編號1
。為介面 0 建立 VPN 通道:
gcloud compute vpn-tunnels create TUNNEL_NAME_IF0 \ --peer-external-gateway=AZURE_GW_NAME \ --peer-external-gateway-interface=AZURE_GW_INT_NUM_0 \ --region=REGION \ --ike-version=IKE_VERS \ --shared-secret=SHARED_SECRET \ --router=ROUTER_NAME \ --vpn-gateway=HA_VPN_GATEWAY_NAME \ --interface=INT_NUM_0
指令應如下列範例所示:
gcloud compute vpn-tunnels create azure-tunnel-1 \ --peer-external-gateway azure-peer-gw \ --peer-external-gateway-interface 0 \ --region us-central1 \ --ike-version 2 \ --shared-secret xo2aTKHipD/oE1GAXgj3lMwjBmJXZjqD \ --router cloud-router \ --vpn-gateway ha-vpn-gw-a \ --interface 0
為介面 1 建立 VPN 通道:
gcloud compute vpn-tunnels create TUNNEL_NAME_IF1 \ --peer-external-gateway=AZURE_GW_NAME \ --peer-external-gateway-interface=AZURE_GW_INT_NUM_1 \ --region=REGION \ --ike-version=IKE_VERS \ --shared-secret=SHARED_SECRET \ --router=ROUTER_NAME \ --vpn-gateway=HA_VPN_GATEWAY_NAME \ --interface=INT_NUM_1
指令應如下列範例所示:
gcloud compute vpn-tunnels create azure-tunnel-2 \ --peer-external-gateway azure-peer-gw \ --peer-external-gateway-interface 1 \ --region us-central1 \ --ike-version 2 \ --shared-secret xo2aTKHipD/oE1GAXgj3lMwjBmJXZjqD \ --router cloud-router \ --vpn-gateway ha-vpn-gw-a \ --interface 1
ROUTER_NAME
:您指派給 Cloud Router 的名稱。ROUTER_INTERFACE_NAME_0
和ROUTER_INTERFACE_NAME_1
:Cloud Router BGP 介面的名稱;建議使用與先前設定的通道名稱相關的名稱。MASK_LENGTH
:指定30
;同一 Cloud Router 上的每個 BGP 工作階段都必須使用169.254.0.0/16
區塊中的不重複/30
CIDR。GOOGLE_BGP_IP_0
和GOOGLE_BGP_IP_1
:您設定的高可用性 VPN 閘道介面 BGP 對等互連 IP 位址;每個通道使用不同的閘道介面。由於 Azure APIPA BGP 對等互連 IP 位址的允許範圍為169.254.21.*
和169.254.22.*
,因此您必須在這些範圍的/30
CIDR 中選取可用的 IP 位址,做為 Cloud Router BGP 對等互連 IP 位址。AZURE_BGP_IP_0
和AZURE_BGP_IP_1
:您已在 Azure 作用中-作用中 VPN 閘道上設定的 APIPA BGP 對等互連 IP 位址;每個通道使用不同的位址。TUNNEL_NAME_IF0
和TUNNEL_NAME_IF1
:與您設定的高可用性 VPN 閘道介面相關聯的通道。AZURE_ASN
:您在 Azure 中為作用中-作用中對等互連 VPN 閘道設定的 ASN。BGP_PEER_NAME_1
和BGP_PEER_NAME_2
,並為每個 BGP 對等互連設定專屬名稱。例如azure‑bgp‑peer‑1
和azure‑bgp‑peer‑2
。如果是第一個 VPN 通道,請將 BGP 介面新增至 Cloud Router:
gcloud compute routers add-interface ROUTER_NAME \ --interface-name=ROUTER_INTERFACE_NAME_0 \ --mask-length=MASK_LENGTH \ --vpn-tunnel=TUNNEL_NAME_IF0 \ --ip-address=GOOGLE_BGP_IP_0 \ --region=REGION
指令應如下列範例所示:
gcloud compute routers add-interface cloud-router \ --interface-name azure-tunnel-1-int-0 \ --mask-length 30 \ --vpn-tunnel azure-tunnel-1 \ --ip-address 169.254.21.2 \ --region us-central1
針對第一個 VPN 通道,將 BGP 對等點新增至介面:
gcloud compute routers add-bgp-peer ROUTER_NAME \ --peer-name=BGP_PEER_NAME_1 \ --peer-asn=AZURE_ASN \ --interface=ROUTER_INTERFACE_NAME_0 \ --peer-ip-address=AZURE_BGP_IP_0 \ --region=REGION
指令應如下列範例所示:
gcloud compute routers add-bgp-peer cloud-router \ --peer-name azure-bgp-peer-1 \ --peer-asn 65515 \ --interface azure-tunnel-1-int-0 \ --peer-ip-address 169.254.21.1 \ --region us-central1
為第二個 VPN 通道將 BGP 介面新增至 Cloud Router:
gcloud compute routers add-interface ROUTER_NAME \ --interface-name=ROUTER_INTERFACE_NAME_1 \ --mask-length=MASK_LENGTH \ --vpn-tunnel=TUNNEL_NAME_IF1 \ --ip-address=GOOGLE_BGP_IP_1 \ --region=REGION
指令應如下列範例所示:
gcloud compute routers add-interface cloud-router \ --interface-name azure-tunnel-2-int-1 \ --mask-length 30 \ --vpn-tunnel azure-tunnel-2 \ --ip-address 169.254.22.2 \ --region us-central1
針對第二個 VPN 通道,將 BGP 對等點新增至該介面:
gcloud compute routers add-bgp-peer ROUTER_NAME \ --peer-name=BGP_PEER_NAME_2 \ --peer-asn=AZURE_ASN \ --interface=ROUTER_INTERFACE_NAME_1 \ --peer-ip-address=AZURE_BGP_IP_1 \ --region=REGION
指令應如下列範例所示:
gcloud compute routers add-bgp-peer cloud-router \ --peer-name azure-bgp-peer-2 \ --peer-asn 65515 \ --interface azure-tunnel-2-int-1 \ --peer-ip-address 169.254.22.1 \ --region us-central1
- 代表 Azure 中 Google Cloud VPN 的兩個本機網路閘道。
- 兩個 VPN 連線,對應您在 Trusted Cloud中設定的兩個高可用性 VPN 通道。
- 本機網路閘道的名稱。
- 連線中要使用的高可用性 VPN 介面 IP 位址。
- 您要建立連線的 Google Cloud Router IP 位址。
- 透過 VPN 閘道轉送至 Cloud Router 的 IP 位址前置字元。您指定的位址前置字元是位於 Cloud VPN 的前置字元。如果 Cloud 虛擬私有網路有變更,或您需要變更 Cloud Router 的外部 IP 位址,稍後可以更新這些值。
- 登入 Azure 入口網站。
- 在「Search resources, service, and docs (G+/)」中,輸入「local network gateway」。
- 在「Marketplace」下方的搜尋結果中,找出並選取「local network gateway」。
- 點選「建立」。
在「Create local network gateway」(建立本機網路閘道) 頁面的「Basics」(基本) 分頁中,為本機網路閘道指定下列值:
- 在「訂閱」清單中,確認顯示的訂閱項目正確無誤。
- 在「資源群組」清單中,選取您稍早在本文中為 VNet 建立的資源群組。
- 在「Region」(區域) 中,選取 VNet 所在的相同位置。
- 在「Name」部分輸入本機網路閘道的名稱,例如
azure-to-google-locgateway1
。 - 在「Endpoint」(端點) 中選取「IP address」(IP 位址)。
- 在「IP address」(IP 位址) 方塊中,輸入高可用性 VPN 的
INTERFACE0
IP 位址 (也就是輸入HA_VPN_INT_0
)。 在「位址空間」部分,輸入這個本機網路代表的網路位址範圍。
您可以新增多個位址空間範圍。請確保您在此指定的範圍,不會與要連線的其他網路範圍重疊。
在「進階」分頁中,設定 BGP 設定,如下所示:
- 在「設定 BGP 設定」部分,選取「是」。
- 在「自治系統編號 (ASN)」中,輸入 Cloud Router 的 ASN (也就是輸入
GOOGLE_ASN
)。 - 在「BGP peer IP address」(BGP 對等互連 IP 位址) 中,輸入通道 1 中 Cloud Router 的 BGP IP 位址 (也就是輸入
GOOGLE_BGP_IP_0
)。
如要驗證本機網路閘道設定,請按一下頁面底部的「檢查並建立」。
驗證通過後,按一下「建立」,建立本機網路閘道。
- 在 Azure 入口網站的「Search resources, service, and docs (G+/)」(搜尋資源、服務和文件 (G+/)) 中,輸入
local network gateway
。 - 在「Marketplace」下方的搜尋結果中,找出並選取「local network gateway」。
在「Create local network gateway」(建立本機網路閘道) 頁面的「Basics」(基本) 分頁中,為本機網路閘道指定下列值:
- 在「訂閱」清單中,確認顯示的訂閱項目是否正確。
- 在「資源群組」清單中,選取與您稍早為 VNet 建立的資源群組相同的資源群組。
- 在「區域」部分,選取與 VNet 相同的區域。
- 在「Name」部分輸入本機網路閘道的名稱,例如
azure-to-google-locgateway2
。 - 在「Endpoint」(端點) 中選取「IP address」(IP 位址)。
- 在「IP address」(IP 位址) 方塊中,輸入 HA VPN 的
INTERFACE1
IP 位址 (也就是輸入HA_VPN_INT_1
)。 - 在「位址空間」部分,輸入這個區域網路代表的網路位址範圍。
您可以新增多個位址空間範圍。請確保您在此指定的範圍,不會與要連線的其他網路範圍重疊。
在「進階」分頁中,設定 BGP 設定,如下所示:
- 在「設定 BGP 設定」部分,選取「是」。
- 在「自治系統編號 (ASN)」中,輸入 Cloud Router 的 ASN (也就是輸入
GOOGLE_ASN
)。 - 在「BGP peer IP address」(BGP 對等互連 IP 位址) 中,輸入通道 1 中 Cloud Router 的 BGP IP 位址 (也就是輸入
GOOGLE_BGP_IP_1
)。
如要驗證本機網路閘道設定,請按一下頁面底部的「檢查並建立」。
驗證通過後,按一下「建立」,建立本機網路閘道。
- 在 Azure 入口網站中,找出您在「建立作用中-作用中 VPN 閘道」中建立的作用中-作用中 VPN 閘道。
- 選取「連線」。
- 在「連線」頁面頂端,選取「+新增」。
- 在「新增連線」頁面中,為第一個連線指定下列值:
- 在「Name」(名稱) 部分輸入連線名稱,例如
azure-vnet-to-google1
。 - 在「連線類型」部分,選取「站對站 (IPsec)」。
- 針對「Local network gateway」(區域網路閘道),指定您建立的第一個區域網路閘道,例如
azure-to-google-locgateway1
。 - 如果是共用金鑰 (PSK),請指定您為第一個高可用性 VPN 通道設定的共用金鑰。
- 選取「啟用 BGP」。
- 在「IKE Protocol」(IKE 通訊協定) 中選取「IKEv2」。
- 按一下 [確定]。
- 在「Connections」(連線) 頁面中,選取「+Add」(新增),新增第二個連線,並使用下列值:
- 在「Name」(名稱) 部分輸入連線名稱,例如
azure-vnet-to-google2
。 - 在「連線類型」部分,選取「站對站 (IPsec)」。
- 在「Local network gateway」(本機網路閘道) 部分,指定您建立的第二個本機網路閘道,例如
azure-to-google-locgateway2
。 - 如果是共用金鑰 (PSK),請指定為第二個高可用性 VPN 通道設定的共用金鑰。
- 選取「啟用 BGP」。
- 在「IKE Protocol」(IKE 通訊協定) 中選取「IKEv2」。
- 按一下 [確定]。
- 在「Name」(名稱) 部分輸入連線名稱,例如
- 在「Connections」(連線) 頁面上,確認兩個連線的狀態都顯示為「Connected」(已連線)。
在 Cloud Shell 中,列出 Cloud Router 選擇的 BGP 對等互連 IP 位址:
gcloud compute routers get-status ROUTER_NAME \ --region=REGION \ --format='flattened(result.bgpPeerStatus[].name, result.bgpPeerStatus[].ipAddress, result.bgpPeerStatus[].peerIpAddress)'
指令應如下列範例所示:
gcloud compute routers get-status cloud-router \ --region us-central1 \ --format='flattened(result.bgpPeerStatus[].name,result.bgpPeerStatus[].ipAddress,result.bgpPeerStatus[].peerIpAddress)'
管理兩個高可用性 VPN 通道 (索引
0
和索引1
) 的預期 Cloud Router 輸出應如以下範例所示:result.bgpPeerStatus[0].ipAddress: 169.254.21.2 result.bgpPeerStatus[0].name: azure-bgp-peer-1 result.bgpPeerStatus[0].peerIpAddress: 169.254.21.1 result.bgpPeerStatus[1].ipAddress: 169.254.22.2 result.bgpPeerStatus[1].name: azure-bgp-peer-2 result.bgpPeerStatus[1].peerIpAddress: 169.254.22.1
在 Cloud Shell 中,查看第一個高可用性 VPN 通道的狀態:
gcloud compute vpn-tunnels describe TUNNEL_NAME_IF0 \ --region=REGION
更改下列內容:
TUNNEL_NAME_IF0
:與您設定的第一個高可用性 VPN 閘道介面相關聯的通道。REGION
:部署高可用性 VPN 閘道的區域。
指令應如下列範例所示:
gcloud compute vpn-tunnels describe azure-tunnel-1 -–region=us-central1
通道的預期輸出內容應與下列範例類似:
creationTimestamp: '2022-09-28T17:13:21.592-07:00' description: '' detailedStatus: Tunnel is up and running. id: '278561789474069966' ikeVersion: 2 kind: compute#vpnTunnel localTrafficSelector: - 0.0.0.0/0 name: azure-tunnel-1 peerExternalGateway: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/global/externalVpnGateways/azure-peer-gw peerExternalGatewayInterface: 0 peerIp: 203.0.113.1 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/cloud-router selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/vpnTunnels/azure-tunnel-1 sharedSecret: '*************' sharedSecretHash: ALDZGgSMUxj8KFahMoG_L0Fz9paz status: ESTABLISHED vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/vpnGateways/ha-vpn-gw-a vpnGatewayInterface: 0
在 Cloud Shell 中,查看第二個高可用性 VPN 通道的狀態:
gcloud compute vpn-tunnels describe TUNNEL_NAME_IF1 \ --region=REGION
更改下列內容:
TUNNEL_NAME_IF1
:與您設定的第二個高可用性 VPN 閘道介面相關聯的通道。REGION
:部署高可用性 VPN 閘道的區域。
指令應如下列範例所示:
gcloud compute vpn-tunnels describe azure-tunnel-2 --region=us-central1
通道的預期輸出內容應與下列範例類似:
creationTimestamp: '2022-09-28T17:13:21.592-07:00' description: '' detailedStatus: Tunnel is up and running. id: '5665972275117479944' ikeVersion: 2 kind: compute#vpnTunnel localTrafficSelector: - 0.0.0.0/0 name: azure-tunnel-2 peerExternalGateway: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/global/externalVpnGateways/azure-peer-gw peerExternalGatewayInterface: 1 peerIp: 203.0.113.2 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/cloud-router selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/vpnTunnels/azure-tunnel-2 sharedSecret: '*************' sharedSecretHash: ALDZGgSMUxj8KFahMoG_L0Fz9ddd
在通道兩端各建立測試 VM,測試 Ping 要求。
您也必須設定 Azure 網路防火牆,允許來自虛擬私有雲所用子網路前置碼的輸入流量。
在 Trusted Cloud上,設定防火牆規則,允許來自 Azure VPN 的傳入 ICMP 流量:
gcloud compute firewall-rules create RULE_NAME \ --network NETWORK \ --direction ingress \ --action allow \ --source-ranges AZURE_VNET_RANGE \ --rules icmp \
將
AZURE_VNET_RANGE
替換為指派給 Azure VNet 的 IP 位址範圍。指令應如下列範例所示:
gcloud compute firewall-rules create allow-azure-icmp \ --network google-to-azure-vpc \ --direction ingress \ --action allow \ --source-ranges 10.0.0.0/16 \ --rules icmp
使用 ping 指令測試連線。
使用 iperf 測量測試機之間的頻寬。
- In the Trusted Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- 進一步瞭解 Google Cloud VPN。
- 進一步瞭解虛擬私有雲設計的最佳做法和參考架構。
在 Azure 上建立 VNet 和主動-主動 VPN 閘道
您需要在 Azure 中設定下列元件:
建立 VNet
Azure 資源可透過 VNet 安全地與彼此、網際網路和其他網路 (例如 Cloud VPN) 通訊。如要進一步瞭解如何建立 VNet,請參閱 Azure 建立 VNet 的說明文件。
建立作用中/作用中 VPN 閘道
下列程序會建立作用中/作用中 VPN 閘道:
此時您只會建立作用中-作用中 VPN 閘道。您必須先建立 Trusted Cloud 元件,才能在 Azure 中設定必要通道。如要進一步瞭解如何建立作用中-作用中 VPN 閘道,請參閱 Azure 說明文件中的「使用入口網站設定作用中-作用中 VPN 閘道」主題。
定義閘道詳細資料
定義閘道 IP 位址
查看並記錄有效-有效 VPN 閘道的外部 IP 位址
您需要 Azure 自動指派給作用中-作用中 VPN 閘道的外部 IP 位址。您可以使用這些 IP 位址,在 Trusted Cloud中建立對等互連 VPN 閘道資源。
本文稍後會將這些 IP 位址稱為 AZURE_GW_IP_0
和 AZURE_GW_IP_1
。
建立 Trusted Cloud 元件
在 Trusted Cloud中,您需要設定下列元件:
下列程序假設您已按照「事前準備」一文所述設定 Trusted Cloud 。如果尚未完成這些步驟,請立即完成。
在 Trusted Cloud上建立虛擬私有雲網路、子網路、高可用性 VPN 閘道和 Cloud Router
在 Trusted Cloud中,您會建立虛擬私有雲網路、高可用性 VPN 閘道和 Cloud Router,然後在 Trusted Cloud中設定防火牆規則。
為 Azure VPN 建立對等互連 VPN 閘道
在本節中,您將建立外部 VPN 閘道資源,向 Trusted Cloud 提供 Azure 中作用中-作用中 VPN 閘道的相關資訊。您建立單一對等互連 VPN 閘道,使用兩個不同的介面,每個介面都有專屬的外部 IP 位址。
建立具有兩個介面的單一外部對等互連 VPN 閘道:
gcloud compute external-vpn-gateways create AZURE_GW_NAME \ --interfaces 0=AZURE_GW_IP_0,1=AZURE_GW_IP_1
更改下列內容:
您建立的對等互連 VPN 閘道資源應與下列範例類似,其中 AZURE_GW_IP_0
和 AZURE_GW_IP_1
會顯示對等互連閘道介面的實際外部 IP 位址:
gcloud compute external-vpn-gateways create azure-peer-gw \ --interfaces 0=203.0.113.1,1=203.0.113.2 Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw]. NAME INTERFACE0 INTERFACE1 azure-peer-gw 203.0.113.1 203.0.113.2
建立 VPN 通道
您需要建立兩個 VPN 通道:對等 VPN 閘道的每個介面各一個通道。設定連往 Azure 的 VPN 通道時,請使用 IKEv2 加密通訊協定。
如要使用本節的指令,請替換下列項目:
請按照下列步驟建立 VPN 通道:
建立 BGP 工作階段
如要使用動態轉送,請使用 Cloud Router 在 Trusted Cloud 和 Azure 之間建立 BGP 工作階段。如 Cloud VPN 總覽和 Cloud VPN 網路和通道轉送所述,我們建議盡可能使用動態轉送,而非靜態轉送。
您必須為每個 VPN 通道建立 BGP 工作階段。每個 BGP 工作階段都包含 Cloud Router 的 BGP 介面和 BGP 對等互連。您為剛建立的兩個 VPN 通道各建立一個 BGP 對等互連。
如要使用本節的指令,請替換下列項目:
如要為 VPN 通道建立 BGP 工作階段,請按照下列步驟操作:
在 Azure 中建立本機網路閘道和 VPN 連線
建立及設定 Trusted Cloud 元件後,請返回 Azure 環境,完成與 Azure 的連線 Trusted Cloud 。如要完成這項連線,請在 Azure 中建立下列元件:
建立兩個本機網路閘道
本機網路閘道是代表 Azure 中 Google Cloud VPN 的特定物件。建立本機網路閘道時,請指定下列資訊:
您需要建立兩個本機網路閘道:一個閘道連線至 Trusted Cloud 第一個高可用性 VPN 通道介面,另一個閘道連線至第二個高可用性 VPN 通道介面。
詳情請參閱 Azure 說明文件中的「在 Azure 入口網站中建立站對站 VPN 連線」教學課程,並參閱「建立本機網路閘道」一節。
如要建立第一個本機網路閘道,請按照下列步驟操作:
如要建立第二個本機網路閘道,請按照下列步驟操作:
建立兩個 VPN 連線
如要在 Azure 中建立 VPN 連線,您需要預先共用金鑰 (SHARED_SECRET),也就是在 Trusted Cloud上設定高可用性 VPN 通道時設定的金鑰。
驗證設定
在 Trusted Cloud中,您可以先檢查 (列出) Cloud Router 設定,然後檢查高可用性 VPN 通道的狀態,藉此驗證高可用性 VPN 設定。
測試連線能力
如要測試高可用性 VPN 連線,您必須先在通道的兩端建立 VM。
接著,請確認您在 Trusted Cloud 中定義的防火牆規則允許來自 Azure 網路子網路的輸入 ICMP 流量。設定 VM 和防火牆規則後,您可以使用 ping 測試連線,並使用 iperf 測試頻寬。
清除所用資源
刪除您在本教學課程中建立的 Trusted Cloud 和 Azure 資源。
刪除 Trusted Cloud by S3NS 專案
如要避免系統向您的 Trusted Cloud 帳戶收取本教學課程所用資源的費用,請刪除專案:
刪除 Azure 資源群組
刪除建立 VNet 時建立的 Azure 管理員資源群組。在本教學課程中,範例資源群組的名稱為 azure-to-google-resgroup
。
詳情請參閱「Azure Resource Manager 資源群組和資源刪除作業」。