使用 PowerShell 對 Azure 虛擬 WAN 建立站對站連線
本文會示範如何使用虛擬 WAN,透過 PowerShell 並使用 IPsec/IKE (IKEv1 和 IKEv2) VPN 連線來與 Azure 中的資源連線。 此類型的連線需要位於內部部署的 VPN 裝置,且您已對該裝置指派對外開放的公用 IP 位址。 如需有關虛擬 WAN 的詳細資訊,請參閱虛擬 WAN 概觀。 您也可以使用 Azure 入口網站的指示來建立此設定。
必要條件
決定您要用於您的虛擬中樞私人位址空間的 IP 位址範圍。 設定您的虛擬中樞時會使用此資訊。 虛擬中樞是虛擬 WAN 建立和使用的虛擬網路。 這是您區域中虛擬 WAN 網路的核心。 位址空間範圍必須符合特定規則。
- 您為中樞指定的位址範圍不能與您連線的任何現有虛擬網路重疊。
- 位址範圍不能與您連線的內部部署位址範圍重疊。
- 如果您不熟悉位於內部部署網路設定中的 IP 位址範圍,請與可以為您提供這些詳細資料的人員協調。
Azure PowerShell
本文使用 PowerShell Cmdlet。 若要執行 Cmdlet,您可以使用 Azure Cloud Shell。 Cloud Shell 是免費的互動式殼層,可讓您用來執行本文中的步驟。 它具有預先安裝和設定的共用 Azure 工具,可與您的帳戶搭配使用。
若要開啟 Cloud Shell,只需要選取程式碼區塊右上角的 [開啟 Cloudshell]。 您也可以移至 https://shell.azure.com/powershell,在個別的瀏覽器索引標籤上開啟 Cloud Shell。 選取 [複製] 以複製程式碼區塊、將它們貼上到 Cloud Shell 中,然後選取 Enter 鍵以執行它們。
您也可以在本機電腦上安裝並執行 Azure PowerShell Cmdlet。 PowerShell Cmdlet 會經常更新。 如果您尚未安裝最新版本,指示中指定的值可能會失敗。 若要尋找電腦上安裝的 Azure PowerShell 版本,請使用 Get-Module -ListAvailable Az
Cmdlet。 若要安裝或更新,請參閱安裝 Azure PowerShell 模組。
登入
如果您使用 Azure Cloud Shell,系統會在開啟 Cloudshell 之後,自動將您導向以登入帳戶。 您不需要執行 Connect-AzAccount
。 登入之後,您仍然可以視需要使用 Get-AzSubscription
和 Select-AzSubscription
來變更訂用帳戶。
如果您在本機執行 PowerShell,請以提高的權限開啟 PowerShell 主控台,並連線至您的 Azure 帳戶。 Connect-AzAccount
Cmdlet 會提示您輸入認證。 驗證之後,它會下載您的帳戶設定,使其可供 Azure PowerShell 使用。 您可以使用 Get-AzSubscription
和 Select-AzSubscription -SubscriptionName "Name of subscription"
來變更訂用帳戶。
建立虛擬 WAN
您必須先建立資源群組來裝載虛擬 WAN 或使用現有的資源群組,才能建立虛擬 WAN。 使用下列其中一個範例。
此範例會在美國東部位置建立名為 TestRG 的新資源群組。 如果想改用現有的資源群組,您可以修改 $resourceGroup = Get-AzResourceGroup -ResourceGroupName "NameofResourceGroup"
命令,然後使用自有值完成本練習中的步驟。
建立資源群組。
New-AzResourceGroup -Location "East US" -Name "TestRG"
使用 New-AzVirtualWan Cmdlet 建立虛擬 WAN。
$virtualWan = New-AzVirtualWan -ResourceGroupName TestRG -Name TestVWAN1 -Location "East US"
建立中樞並設定中樞設定
中樞是一個虛擬網路,可包含用於站對站、ExpressRoute 或點對站功能的閘道。 使用 New-AzVirtualHub 建立虛擬中樞。 此範例會建立名為 Hub1 的預設虛擬中樞,其中包含指定的位址首碼和中樞位置。
$virtualHub = New-AzVirtualHub -VirtualWan $virtualWan -ResourceGroupName "TestRG" -Name "Hub1" -AddressPrefix "10.1.0.0/16" -Location "westus"
建立站對站 VPN 閘道
在本節中,您會在與參考虛擬中樞相同的位置建立站對站 VPN 閘道。 當您建立 VPN 閘道時,您可以指定所需的縮放單位。 建立閘道大約需要 30 分鐘的時間。
如果您已關閉 Azure Cloud Shell 或連線逾時,您可能需要再次為 $virtualHub 宣告變數。
$virtualHub = Get-AzVirtualHub -ResourceGroupName "TestRG" -Name "Hub1"
使用 New-AzVpnGateway Cmdlet 來建立 VPN 閘道。
New-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1" -VirtualHubId $virtualHub.Id -VpnGatewayScaleUnit 2
建立 VPN 閘道之後,您可以使用下列範例來檢視它。
Get-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1"
建立站台和連線
在本節中,您會建立與實體位置和連線對應的站台。 這些站台包含您的內部部署 VPN 裝置端點,您可以在虛擬 WAN 中為每個虛擬中樞建立最多 1000 個站台。 如果您有多個中樞,您可以為每個中樞建立 1000 個。
為 VPN 閘道以及位於內部部署站台上的 IP 位址空間設定變數。 流向此位址空間的流量會路由至您本機網站。 當網站未啟用 BGP 時,這是必要項目。
$vpnGateway = Get-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1" $vpnSiteAddressSpaces = New-Object string[] 2 $vpnSiteAddressSpaces[0] = "192.168.2.0/24" $vpnSiteAddressSpaces[1] = "192.168.3.0/24"
建立連結以新增分支上實體連結的相關資訊,包括有關連結速度、連結提供者名稱和內部部署裝置的公用 IP 位址的中繼資料。
$vpnSiteLink1 = New-AzVpnSiteLink -Name "TestSite1Link1" -IpAddress "15.25.35.45" -LinkProviderName "SomeTelecomProvider" -LinkSpeedInMbps "10" $vpnSiteLink2 = New-AzVpnSiteLink -Name "TestSite1Link2" -IpAddress "15.25.35.55" -LinkProviderName "SomeTelecomProvider2" -LinkSpeedInMbps "100"
建立 VPN 站台,參考您剛才建立的 VPN 站台連結的變數。
如果您已關閉 Azure Cloud Shell 或連線逾時,請重新宣告虛擬 WAN 變數:
$virtualWan = Get-AzVirtualWAN -ResourceGroupName "TestRG" -Name "TestVWAN1"
使用 New-AzVpnSite Cmdlet 建立 VPN 網站。
$vpnSite = New-AzVpnSite -ResourceGroupName "TestRG" -Name "TestSite1" -Location "westus" -VirtualWan $virtualWan -AddressSpace $vpnSiteAddressSpaces -DeviceModel "SomeDevice" -DeviceVendor "SomeDeviceVendor" -VpnSiteLink @($vpnSiteLink1, $vpnSiteLink2)
建立站台連結連線。 連線是由從分支/站台到可調整閘道的兩個主動-主動通道所組成。
$vpnSiteLinkConnection1 = New-AzVpnSiteLinkConnection -Name "TestLinkConnection1" -VpnSiteLink $vpnSite.VpnSiteLinks[0] -ConnectionBandwidth 100 $vpnSiteLinkConnection2 = New-AzVpnSiteLinkConnection -Name "testLinkConnection2" -VpnSiteLink $vpnSite.VpnSiteLinks[1] -ConnectionBandwidth 10
將 VPN 站台連線至中樞
使用 New-AzVpnConnection Cmdlet,將 VPN 網站連線到中樞站對站 VPN 閘道。
執行命令之前,您可能需要重新宣告下列變數:
$virtualWan = Get-AzVirtualWAN -ResourceGroupName "TestRG" -Name "TestVWAN1" $vpnGateway = Get-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1" $vpnSite = Get-AzVpnSite -ResourceGroupName "TestRG" -Name "TestSite1"
將 VPN 站台連線到中樞。
New-AzVpnConnection -ResourceGroupName $vpnGateway.ResourceGroupName -ParentResourceName $vpnGateway.Name -Name "testConnection" -VpnSite $vpnSite -VpnSiteLinkConnection @($vpnSiteLinkConnection1, $vpnSiteLinkConnection2)
將 VNet 連線到您的中樞
下一個步驟是將中樞連線到 VNet。 如果您為此練習建立了新的資源群組,您通常在資源群組中不會已有虛擬網路 (VNet)。 如果您還沒有 VNet,下列步驟可協助您建立。 然後,您可以在中樞與 VNet 之間建立連線。
建立虛擬網路
您可以使用下列範例值來建立 VNet。 務必將範例中的值取代為您用於環境的值。 如需詳細資訊,請參閱快速入門:使用 Azure PowerShell 建立虛擬網路。
建立 VNet。
$vnet = @{ Name = 'VNet1' ResourceGroupName = 'TestRG' Location = 'eastus' AddressPrefix = '10.21.0.0/16' } $virtualNetwork = New-AzVirtualNetwork @vnet
指定子網路設定。
$subnet = @{ Name = 'Subnet-1' VirtualNetwork = $virtualNetwork AddressPrefix = '10.21.0.0/24' } $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
設定 VNet。
$virtualNetwork | Set-AzVirtualNetwork
將 VNet 連線至中樞
擁有 VNet 之後,請遵循本文中的步驟,將 VNet 連線至 VWAN 中樞:將 VNet 連線至虛擬 WAN 中樞。
設定 VPN 裝置
若要設定內部部署 VPN 裝置,請遵循站對站:Azure 入口網站一文中的步驟。
清除資源
當您不再需要您所建立的資源時,請將其刪除。 由於相依性,某些虛擬 WAN 資源必須依特定順序刪除。 刪除需要大約 30 分鐘才能完成。
依下列順序刪除所有閘道實體:
宣告變數。
$resourceGroup = Get-AzResourceGroup -ResourceGroupName "TestRG" $virtualWan = Get-AzVirtualWan -ResourceGroupName "TestRG" -Name "TestVWAN1" $virtualHub = Get-AzVirtualHub -ResourceGroupName "TestRG" -Name "Hub1" $vpnGateway = Get-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1"
刪除 VPN 網站的 VPN 閘道連線。
Remove-AzVpnConnection -ResourceGroupName $vpnGateway.ResourceGroupName -ParentResourceName $vpnGateway.Name -Name "testConnection"
刪除 VPN 閘道。 刪除 VPN 閘道也會移除與其相關聯的所有 VPN ExpressRoute 連線。
Remove-AzVpnGateway -ResourceGroupName "TestRG" -Name "vpngw1"
此時,您可以採取下列其中一個做法:
- 您可以刪除整個資源群組,以刪除其包含的所有剩餘資源,包括中樞、網站和虛擬 WAN。
- 您可以選擇刪除資源群組中的每個資源。
若要刪除整個資源群組:
Remove-AzResourceGroup -Name "TestRG"
若要刪除資源群組中的每個資源:
刪除 VPN 網站。
Remove-AzVpnSite -ResourceGroupName "TestRG" -Name "TestSite1"
刪除虛擬中樞。
Remove-AzVirtualHub -ResourceGroupName "TestRG" -Name "Hub1"
刪除虛擬 WAN。
Remove-AzVirtualWan -Name "TestVWAN1" -ResourceGroupName "TestRG"
下一步
接下來,請參閱虛擬 WAN 常見問題集來深入了解虛擬 WAN。