共用方式為


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

本文會逐步引導您使用 PowerShell 新增、調整和移除預先存在的虛擬網路 (VNet) 虛擬網路閘道的步驟。 此設定的步驟適用於使用 Resource Manager 部署模型作為 ExpressRoute 設定所建立的 VNet。 如需有關 ExpressRoute 之虛擬網路閘道和閘道組態設定的詳細資訊,請參閱關於 ExpressRoute 的虛擬網路閘道

此圖顯示連線至 ExpressRoute 線路的 ExpressRoute 閘道。

必要條件

設定參考清單

此工作的步驟會根據下列組態參考清單中的值來使用 VNet。 此清單中也會概述更多設定和名稱。 雖然我們會根據這份清單中的值加入變數,但不會在任何步驟中直接使用這份清單。 您可以複製清單以供參考,並使用您自己的值來取代其中的值。

設定
虛擬網路名稱 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
閘道公用 IP 名稱 gwpip

新增閘道

重要

如果您打算在 ExpressRoute 上使用 IPv6 型私人對等互連,請務必為 -GatewaySku 選取 AZ SKU (ErGw1AZ、ErGw2AZ、ErGw3AZ),或為搭配標準和靜態公用 IP 的 -GatewaySKU 使用非 AZ 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 位址。 建立閘道之前需要有 IP 位址。 您無法指定想要使用的 IP 位址;該 IP 位址會以動態方式指派。 下一個組態章節將使用此 IP 位址。 AllocationMethod 必須是動態的。

    $pip = New-AzPublicIpAddress -Name $GWIPName  -ResourceGroupName $RG -Location $Location -AllocationMethod Static -SKU Standard
    

    如果您想要在 Azure 擴充區域中建立閘道,請使用 -ExtendedLocation 參數在擴充區域中要求公用 IP 位址。

    $pip = New-AzPublicIpAddress -Name $GWIPName  -ResourceGroupName $RG -Location $Location -ExtendedLocation $ExtendedLocation -AllocationMethod Static -SKU Standard
    

    注意

    新的 ExpressRoute 虛擬網路閘道不支援基本 SKU 公用 IP。

  8. 建立適用於閘道的組態。 閘道器組態定義要使用的子網路和公用 IP 位址。 在此步驟中,您要指定在建立閘道將使用的組態。 使用下列範例來建立閘道組態。

    $ipconf = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName -Subnet $subnet -PublicIpAddress $pip
    
  9. 建立閘道。 在這個步驟中, -GatewayType 特別重要。 您必須使用值 ExpressRoute。 執行這些 Cmdlet 之後,閘道需要花費 45 分鐘或更久的時間來建立。

    New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $RG -Location $Location -IpConfigurations $ipconf -GatewayType Expressroute -GatewaySku Standard
    

    如果您想要在 Azure 擴充區域中建立閘道,請新增 -ExtendedLocation 參數。

    New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $RG -Location $Location -ExtendedLocation $ExtendedLocation -IpConfigurations $ipconf -GatewayType Expressroute -GatewaySku Standard
    

    注意

    若要在 Azure 擴充區域中建立閘道,您必須先 要求存取擴充區域。 一旦您有存取權,您就可以建立閘道。

    在擴充區域中建立虛擬網路網關時,適用下列考慮:

    • Azure 擴充區域中不支援 可用性區域。
    • Azure 擴充區域目前支援下列 SKU:Standard、HighPerformance、UltraPerformance。
    • Azure 擴充區域中的閘道不支援本機 SKU 線路。

確認已建立閘道

使用下列命令,確認已建立閘道:

Get-AzVirtualNetworkGateway -ResourceGroupName $RG

調整閘道大小

有幾個閘道 SKU。 您可以使用下列命令隨時變更閘道器 SKU。

$gw = Get-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $RG
Resize-AzVirtualNetworkGateway -VirtualNetworkGateway $gw -GatewaySku HighPerformance

清除資源

使用下列命令來移除閘道:

Remove-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $RG

下一步

建立 VNet 閘道之後,您可以將 VNet 連結至 ExpressRoute 循環。