本文將教你如何使用 PowerShell 為既有的虛擬網路新增、調整大小及移除虛擬網路閘道器。 這些步驟適用於使用 ExpressRoute 資源管理器部署模型所建立的虛擬網路。 如需詳細資訊,請參閱關於 ExpressRoute 虛擬網路閘道。
先決條件
開始之前,請確定您擁有:
- 具有有效訂閱的 Azure 帳戶。
- 一個你想建立閘道器的現有虛擬網路。 欲了解更多資訊,請參閱 使用 PowerShell 建立虛擬網路。
- Azure PowerShell 安裝。 如需詳細資訊,請參閱 安裝 Azure PowerShell。
- 虛擬網路中有足夠的位址空間來設置閘道子網(/27 或更大)。
範例配置值
下表展示了本文中使用的範例數值。 你可以利用這些值建立測試環境,或參考它們以更好地理解範例:
| 設定 | 值 |
|---|---|
| 虛擬網路名稱 | TestVNet |
| 虛擬網路位址空間 | 192.168.0.0/16 |
| 資源群組 | TestRG |
| Subnet1 名稱 | FrontEnd |
| Subnet1 位址空間 | 192.168.1.0/24 |
| Subnet1 名稱 | FrontEnd |
| 閘道子網路名稱 | GatewaySubnet |
| 閘道子網路位址空間 | 192.168.200.0/26 |
| 區域 | 美國西部 |
| 閘道名稱 | GW |
| 閘道 IP 名稱 | GWIP |
| 閘道 IP 設定名稱 | gwipconf |
| 類型 | ExpressRoute |
新增閘道
重要事項
如果您打算在 ExpressRoute 上使用 IPv6 型私人對等互連,請務必為 -GatewaySku 選取啟用可用性區域的 SKU (ErGw1Az、ErGw2Az、ErGw3Az),或使用非可用性區域 SKU (Standard、HighPerformance、UltraPerformance) 並搭配標準和靜態公用位址。
連接到你的 Azure 帳號。
Connect-AzAccount請說明本文的變數。 編輯樣本值以反映你的設定:
$RG = "TestRG" $Location = "West US" $GWName = "GW" $GWIPName = "GWIP" $GWIPconfName = "gwipconf" $VNetName = "TestVNet"如果你想在 Azure 擴展區域建立閘道器,請加入 $ExtendedLocation 變數:
$RG = "TestRG" $Location = "West US" $ExtendedLocation = "losangeles" $GWName = "GW" $GWIPName = "GWIP" $GWIPconfName = "gwipconf" $VNetName = "TestVNet"將虛擬網路物件儲存為變數:
$vnet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $RG在你的虛擬網路中新增一個閘道子網。 閘道子網必須命名 為 GatewaySubnet。 閘道子網必須是 /27 或更大(如 /26、/25 等)。 如果你計劃將 16 條 ExpressRoute 迴路連接到你的閘道器,必須建立一個閘道子網,範圍為 /26 或更大:
Add-AzVirtualNetworkSubnetConfig -Name GatewaySubnet -VirtualNetwork $vnet -AddressPrefix 192.168.200.0/26如果您使用雙重堆疊虛擬網路,並打算透過 ExpressRoute 使用 IPv6 型私人對等互連,請改為建立雙重堆疊閘道子網路:
Add-AzVirtualNetworkSubnetConfig -Name GatewaySubnet -VirtualNetwork $vnet -AddressPrefix "10.0.0.0/26","ace:daa:daaa:deaa::/64"設定組態:
$vnet = Set-AzVirtualNetwork -VirtualNetwork $vnet將閘道子網儲存為變數:
$subnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet(可選)請求擴展區閘道器的公共 IP 位址。
ExpressRoute 閘道器不再需要公共 IP 位址,擴展區域閘道除外。 如果你想在 Azure 擴展區域建立閘道器,請使用 -ExtendedLocation 參數請求公共 IP 位址:
$pip = New-AzPublicIpAddress -Name $GWIPName -ResourceGroupName $RG -Location $Location -ExtendedLocation $ExtendedLocation -AllocationMethod Static -SKU Standard附註
- 基本的 SKU 公有 IP 不支援 ExpressRoute 虛擬網路閘道器。
- 不再需要建立公共 IP 位址。 Microsoft 會建立並管理你的公共 IP,這表示所有 ExpressRoute 虛擬網路閘道器都是區域冗餘的。
建立你的閘道器 IP 設定。
閘道設定會定義要使用的子網路。 在這個步驟中,你指定建立閘道器時所使用的設定。
針對標準閘道器:
$ipconf = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName -Subnet $subnet對於擴展區域閘道器:
$ipconf = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName -Subnet $subnet -PublicIpAddressId $pip.Id建立閘道。
-GatewayType 參數必須設為 ExpressRoute。 -GatewaySku 參數決定閘道器的效能與功能。 閘道建立可能需要45分鐘以上完成。
根據你的閘道 SKU 選擇適當的指令:
對於靈活且可擴展的閘道器,請使用 ErGwScale SKU 搭配 -MinScaleUnit 和 -MaxScaleUnit 參數。
固定縮放(建議用於可預測的工作負載):
當你將最小與最大規模單位設為相同值時,閘道器維持固定的頻寬:
New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $RG -Location $Location -IpConfigurations $ipconf -GatewayType Expressroute -GatewaySku ErGwScale -MinScaleUnit 2 -MaxScaleUnit 2自動縮放(建議用於可變工作負載):
當你設定不同的最小值和最大值時,閘道器會根據流量自動調整:
New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $RG -Location $Location -IpConfigurations $ipconf -GatewayType Expressroute -GatewaySku ErGwScale -MinScaleUnit 2 -MaxScaleUnit 10重要事項
- 當你將最大比例單位設為 1 時,最小比例單位也必須是 1。
- 比例單位範圍從1到40。
- 每個擴展單元提供 1 Gbps 的網路頻寬。
欲了解更多資訊,請參閱 About ExpressRoute 可擴展閘道。
確認已建立閘道
使用下列命令,確認已建立閘道:
Get-AzVirtualNetworkGateway -ResourceGroupName $RG
調整閘道器大小
你可以更改閘道的 SKU,來提升或降低閘道器的效能。 請根據你的閘道類型使用適當的指令:
對於可擴展閘道器(ErGwScale SKU),請使用 Set-AzVirtualNetworkGateway 指令,搭配 -MinScaleUnit 和 -MaxScaleUnit 參數:
$vng = Get-AzVirtualNetworkGateway -Name <GatewayName> -ResourceGroupName <ResourceGroupName>
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $vng -MinScaleUnit 2 -MaxScaleUnit 10 -GatewaySku ErGwScale
你可以調整 Scale 單元,改變閘道器的頻寬和效能。 更改系統設定規模可能需要長達30分鐘才能完成。
清除資源
如果你不再需要閘道器,請使用以下指令將其移除:
Remove-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $RG
後續步驟
建立虛擬網路閘道器後,你可以將虛擬網路連結到 ExpressRoute 電路:
欲了解更多關於 ExpressRoute 閘道器的資訊: