使用 CLI 建立 VPN 閘道
本文可協助您使用 Azure CLI 建立 Azure VPN 閘道。 建立與內部部署網路的 VPN 連線時,會使用 VPN 閘道。 您也可以使用 VPN 閘道來連線虛擬網路。 如需本文中某些設定的詳細資訊,請參閱建立 VPN 閘道 - 入口網站。
- 圖表左側會顯示您使用本文步驟所建立的虛擬網路和 VPN 閘道。
- 您稍後可以新增不同連線類型,如圖表右側所示。 例如,您可以建立站對站和點對站連線。 若要檢視您可以組建的不同設計結構,請參閱 VPN 閘道設計。
本文中的步驟會使用第 2 代 VpnGw2AZ SKU 來建立虛擬網路、子網、網關子網和路由型區域備援主動-主動模式 VPN 閘道(虛擬網路閘道)。 本文中的步驟會使用第 2 代 VpnGw2AZ SKU 來建立虛擬網路、子網、網關子網和路由型區域備援主動-主動模式 VPN 閘道(虛擬網路閘道)。 建立閘道之後,您可以設定連線。
- 如果您想要改用基本 SKU 建立 VPN 閘道,請參閱建立基本 SKU VPN 閘道。
- 建議您盡可能建立主動-主動模式 VPN 閘道。 主動-主動模式 VPN 閘道提供比標準模式 VPN 閘道更好的可用性和效能。 如需主動-主動網關的詳細資訊,請參閱 關於主動-主動模式網關。
- 如需可用性區域和區域備援網關的相關信息,請參閱 什麼是可用性區域?
注意
本文中的步驟會使用閘道 SKU VpnGw2AZ,這是支援 Azure 可用性區域的 SKU。 如果您的區域不支援可用性區域,請改用非 AZ SKU。 如需 SKU 的詳細資訊,請參閱關於閘道 SKU。
開始之前
這些步驟需要 Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
必要條件
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能詳細資訊,請參閱使用 Azure CLI 擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
- 本文需要 2.0.4 版或更新版本的 Azure CLI。 如果您是使用 Azure Cloud Shell,就已安裝最新版本。
建立資源群組
使用 az group create 命令來建立資源群組。 資源群組是在其中部署與管理 Azure 資源的邏輯容器。
az group create --name TestRG1 --location eastus
建立虛擬網路
如果您還沒有虛擬網路,請使用 az network vnet create 命令建立一個。 當您建立虛擬網路時,請確定您指定的位址空間不會與您在內部部署網路上擁有的任何位址空間重疊。 如果 VPN 連線的兩端存在重複的位址範圍,流量就不會以您預期的方式路由傳送。 此外,如果您想要將此虛擬網路連線到另一個虛擬網路,位址空間無法與其他虛擬網路重疊。 因此,請謹慎規劃您的網路組態。
下列範例會建立名為 『VNet1』 和子網 『FrontEnd』 的虛擬網路。 此練習中不會使用 FrontEnd 子網。 您可以替代您自己的子網名稱。
az network vnet create \
-n VNet1 \
-g TestRG1 \
-l eastus \
--address-prefix 10.1.0.0/16 \
--subnet-name FrontEnd \
--subnet-prefix 10.1.0.0/24
新增閘道子網路
虛擬網路網關資源會部署到名為 GatewaySubnet 的特定子網。 閘道子網路是您設定虛擬網路時,所指定虛擬網路 IP 位址範圍的一部分。
如果您沒有名為 GatewaySubnet 的子網,當您建立 VPN 閘道時,它就會失敗。 建議您建立使用 /27(或更大)的閘道子網。 例如,/27 或 /26。 如需詳細資訊,請參閱 VPN 閘道 設定 - 閘道子網。
重要
不支援閘道子網路上的網路安全性群組 (NSG)。 將網路安全性群組與此子網路產生關聯,可能會導致您的虛擬網路閘道 (VPN 與 ExpressRoute 閘道) 無法如預期運作。 如需有關網路安全性群組的詳細資訊,請參閱什麼是網路安全性群組?
使用下列範例來新增閘道子網:
az network vnet subnet create \
--vnet-name VNet1 \
-n GatewaySubnet \
-g TestRG1 \
--address-prefix 10.1.255.0/27
要求公用IP位址
VPN 閘道必須具有公用 IP 位址。 當您建立與 VPN 閘道的連線時,這就是您指定的 IP 位址。 對於主動-主動模式閘道,每個閘道實例都有自己的公用IP位址資源。 您會先要求 IP 位址資源,然後在建立虛擬網路閘道時參考它。 此外,對於以 AZ 結尾的任何閘道 SKU,您也必須指定區域設定。 此範例會指定區域備援設定,因為它指定這三個區域區域。
建立 VPN 閘道時,IP 位址會指派給資源。 公用 IP 位址只會在刪除或重新建立閘道時變更。 它不會因為重新調整、重設或 VPN 閘道的其他內部維護/升級而變更。
使用 az network public-ip create 命令來要求公用 IP 位址:
az network public-ip create --name VNet1GWpip1 --resource-group TestRG1 --allocation-method Static --sku Standard --version IPv4 --zone 1 2 3
若要建立主動-主動網關(建議),請要求第二個公用IP位址:
az network public-ip create --name VNet1GWpip2 --resource-group TestRG1 --allocation-method Static --sku Standard --version IPv4 --zone 1 2 3
建立 VPN 閘道
建立閘道通常可能需要 45 分鐘或更久,視選取的閘道 SKU 而定。 建立閘道之後,您可以在虛擬網路與內部部署位置之間建立連線。 或者,建立虛擬網路與另一個虛擬網路之間的連線。
使用 az network vnet-gateway create 命令建立 VPN 閘道。 如果您使用 --no-wait
參數來執行此命令,就不會看到任何意見反應或輸出。 --no-wait
參數允許在背景中建立閘道。 這並不表示 VPN 閘道會立即建立。 如果您想要使用不同的 SKU 建立閘道,請參閱 關於閘道 SKU 來判斷最符合設定需求的 SKU。
主動-主動模式閘道
az network vnet-gateway create --name VNet1GW --public-ip-addresses VNet1GWpip1 VNet1GWpip2 --resource-group TestRG1 --vnet VNet1 --gateway-type Vpn --vpn-type RouteBased --sku VpnGw2AZ --vpn-gateway-generation Generation2 --no-wait
主動待命模式閘道
az network vnet-gateway create --name VNet1GW --public-ip-addresses VNet1GWpip1 --resource-group TestRG1 --vnet VNet1 --gateway-type Vpn --vpn-type RouteBased --sku VpnGw2AZ --vpn-gateway-generation Generation2 --no-wait
VPN 閘道建立作業可能需要花費 45 分鐘以上的時間。
檢視 VPN 閘道
az network vnet-gateway show \
-n VNet1GW \
-g TestRG1
檢視閘道IP位址
每個 VPN 閘道實例都會指派公用 IP 位址資源。 若要檢視與資源相關聯的IP位址,請使用下列命令。 針對每個閘道實例重複。
az network public-ip show -g TestRG1 -n VNet1GWpip1
清除資源
當您不再需要所建立的資源時,請使用 az group delete 來刪除資源群組。 這會刪除資源群組及其包含的所有資源。
az group delete --name TestRG1 --yes
下一步
建立閘道之後,您可以設定連線。