使用S2S VPN連接兩個不同Azure訂用的ARM虛擬網路

蘇建榮 Alan Su

  • 精誠資訊 恆逸教育訓練中心 資深講師
  • 技術分類:網路管理與通訊應用

Microsoft Azure—微軟所營運的公用雲端服務,它提供企業快速、有彈性且具高可用度的部署所需要的工作負載(包括:Windows 或 Linux 的虛擬機器、網頁伺服器、資料庫、儲存體、備份、身分識別與多種應用、整合、分析、管理服務等)。目前,Azure 已在 140 個國家提供服務,並且 Azure在全球 38 個區域已建置資料中心(未來仍會繼續增加)。企業可利用 Azure 做為異地機房提供備援,或利用 Azure 強大且可信賴的運算能力做為企業的資料中心而無需自行建置與管理機房。

Azure 的虛擬網路是使用網路虛擬化技術的軟體定義的網路,它可提供 Azure 中的虛擬機器、雲端服務與應用程式服務(App Service 環境)使用。透過 VPN 或 Express Route,企業內的用戶可使用 Private IP 存取虛擬網路中的虛擬機器或執行個體,就像它們被部署在企業內部一樣。然而,地理位置分散的企業可能將工作負載部署在多個 Azure 地區以提供用戶最佳的網路存取體驗,此時在不同虛擬網路中的資源需要安全的相互存取,並且愈來愈多的企業與其合作夥伴在 Azure 中的資源也要安全的相互存取。Azure 提供 VPN 與虛擬網路對等互連兩種方式讓我們將兩個虛擬網路互相連通。

虛擬網路對等互連(Azure Virtual Network peering)可提供簡單、快速且低成本(不需 VPN Gateway)的將兩個虛擬網路連通,但目前它需要兩個虛擬網路被部署在同一個地區、至少一個是使用資源管理員(Azure Resource Manager,ARM)模式部署,若兩個虛擬網路在不同的 Azure 訂用中則因為目前 Azure RBAC(Role-Based Access Control)的限制,這兩個 Azure 訂用必須是相同的 Azure AD 租用戶(AAD tenant)。

虛擬私人網路(Azure Virtual Private Network,VPN),並無上述虛擬網路對等互連的限制。在連通同一個 Azure 訂用中相同部署模式的兩個虛擬網路時,我們將它稱為VNet 對 VNet 連線(VNet-to-VNet connection),而連通內部部署的企業網路、連通不同部署模式的兩個虛擬網路或連通在不同 Azure 訂用(可以是不同的 AAD tenant)中的兩個虛擬網路時,我們將它稱為站對站連線(Site-to-Site connection,S2S connection)。本文向您說明如何使用站對站 VPN 閘道連線來連接兩個在不同 Azure 訂用中以資源管理員模式部署的虛擬網路。

首先,要連通的兩個虛擬網路必須使用不重疊的位址空間(例如:一個使用 172.16.0.0/16 另一個不能也使用 172.16.0.0/16)。接著,為兩個虛擬網路各自建立閘道子網路、公用 IP 位址後,建立虛擬網路閘道。然後,詢問對方閘道的公用 IP 位址與虛擬網路位址空間後,在自己的 Azure 訂用中以此資訊建立區域網路閘道。

最後,雙方約定所要使用的共用金鑰後,在自己的虛擬網路閘道加入連接。

案例環境:
UUU 企業與 UCOM 企業已在各自的 Azure 訂用中各自建立了自己的虛擬網路。雙方的管理員將建立虛擬網路閘道、區域網路閘道與加入連接以連通對方。

詳細設定步驟:(雙方皆需進行全部的設定步驟,但參數值不同)

當雙方皆已完成設定並等待數分鐘之後,兩個虛擬網路就已經互相連通了。由於 Azure 網路安全性群組的連入安全性規則中的預設規則已有AllowVnetInBound這條規則存在,因此您只需要注意虛擬網路中的虛擬機器(或執行個體)如果是 Windows 作業系統,則 Windows 防火牆是否需適當的調整即可(就如同在企業內的 Windows 電腦一樣)。

相關學習資源