使用 PowerShell 配置 ExpressRoute 的虚拟网络网关

本文演示使用 PowerShell 为预先存在的虚拟网络 (VNet) 添加虚拟网络网关、重设其大小并进行删除的步骤。 此配置的步骤适用于使用资源管理器部署模型创建的 VNet(针对 ExpressRoute 配置)。 有关 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(标准、HighPerformance、UltraPerformance)。

  1. 若要连接到 Azure,请运行 Connect-AzAccount -Environment AzureChinaCloud

  2. 声明此教程的变量。 请务必编辑此示例,使之反映想要使用的设置。

    $RG = "TestRG"
    $Location = "China East"
    $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 地址。 AllocationMethod 必须是动态的。

    $pip = New-AzPublicIpAddress -Name $GWIPName  -ResourceGroupName $RG -Location $Location -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
    

验证是否已创建网关

使用以下命令来验证是否已创建网关:

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 线路。