共用方式為


使用 PowerShell 為 ExpressRoute 設定虛擬網路閘道

本文將教你如何使用 PowerShell 為既有的虛擬網路新增、調整大小及移除虛擬網路閘道器。 這些步驟適用於使用 ExpressRoute 資源管理器部署模型所建立的虛擬網路。 如需詳細資訊,請參閱關於 ExpressRoute 虛擬網路閘道

顯示連線至 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) 並搭配標準和靜態公用位址。

  1. 連接到你的 Azure 帳號。

    Connect-AzAccount
    
  2. 請說明本文的變數。 編輯樣本值以反映你的設定:

    $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"
    
  3. 將虛擬網路物件儲存為變數:

    $vnet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $RG
    
  4. 在你的虛擬網路中新增一個閘道子網。 閘道子網必須命名 為 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"
    
  5. 設定組態:

    $vnet = Set-AzVirtualNetwork -VirtualNetwork $vnet
    
  6. 將閘道子網儲存為變數:

    $subnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet
    
  7. (可選)請求擴展區閘道器的公共 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 虛擬網路閘道器都是區域冗餘的。
  8. 建立你的閘道器 IP 設定。

    閘道設定會定義要使用的子網路。 在這個步驟中,你指定建立閘道器時所使用的設定。

    針對標準閘道器:

    $ipconf = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName -Subnet $subnet 
    

    對於擴展區域閘道器:

    $ipconf = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName -Subnet $subnet -PublicIpAddressId $pip.Id 
    
  9. 建立閘道。

    -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 閘道器的資訊: