本文介绍如何使用 PowerShell 为预先存在的虚拟网络添加、调整大小和删除虚拟网络网关。 这些步骤适用于使用 ExpressRoute 资源管理器部署模型创建的虚拟网络。 有关更多信息,请参阅关于 ExpressRoute 虚拟网关。
Prerequisites
在开始之前,请确保具备:
- 拥有有效订阅的 Azure 帐户。
- 要在其中创建网关的现有虚拟网络。 有关详细信息,请参阅 使用 PowerShell 创建虚拟网络。
- 已安装 Azure PowerShell。 有关详细信息,请参阅安装 Azure PowerShell。
- 虚拟网络中有足够的地址空间用于网关子网(/27 或更大)。
示例配置值
下表显示了本文中使用的示例值。 可以使用这些值创建测试环境,或参考它们来更好地了解示例:
| Setting | Value |
|---|---|
| 虚拟网络名称 | TestVNet |
| 虚拟网络地址空间 | 192.168.0.0/16 |
| 资源组 | TestRG |
| Subnet1 名称 | FrontEnd |
| Subnet1 地址空间 | 192.168.1.0/24 |
| Subnet1 名称 | FrontEnd |
| 网关子网名称 | GatewaySubnet |
| 网关子网地址空间 | 192.168.200.0/26 |
| Region | 中国东部 |
| 网关名称 | GW |
| 网关 IP 名称 | GWIP |
| 网关 IP 配置名称 | gwipconf |
| 类型 | ExpressRoute |
添加网关
Important
如果计划通过 ExpressRoute 使用基于 IPv6 的专用对等互连,请选择已启用可用性区域的 SKU(ErGw1Az、ErGw2Az、ErGw3Az)作为 -GatewaySku,或使用具有标准和静态公共 IP 的非可用性区域 SKU(标准、HighPerformance、UltraPerformance)。
连接到 Azure 帐户。
Connect-AzAccount -Environment AzureChinaCloud声明本文的变量。 编辑示例值以反映配置:
$RG = "TestRG" $Location = "China East" $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 $vnetExpressRoute 网关不再需要公共 IP 地址。
$pip = New-AzPublicIpAddress -Name $GWIPName -ResourceGroupName $RG -Location $Location -AllocationMethod Static -SKU StandardNote
- ExpressRoute 虚拟网络网关不支持基本 SKU 公共 IP。
- 不再需要创建公共 IP。 Microsoft创建和管理公共 IP,这意味着所有 ExpressRoute 虚拟网络网关都创建为区域冗余网关。
为网关创建 IP 配置。
网关配置定义要使用的子网。 在此步骤中,指定在创建网关时使用的配置。
对于标准网关:
$ipconf = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName -Subnet $subnet创建网关。
必须将 -GatewayType 参数设置为 ExpressRoute。 -GatewaySku 参数确定网关的性能和功能。 网关创建可能需要 45 分钟或更多时间才能完成。
根据网关 SKU 选择相应的命令:
对于灵活的可缩放网关,请使用带有 -MinScaleUnit 和 -MaxScaleUnit 参数的 ErGwScale SKU。
固定缩放(建议用于可预测工作负荷):
将最小和最大缩放单位设置为相同的值时,网关将维护固定带宽:
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 10Important
- 将最大缩放单元设置为 1 时,最小缩放单元也必须为 1。
- 缩放单位范围为 1 到 40。
- 每个缩放单元提供 1 Gbps 的带宽。
有关详细信息,请参阅 关于 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
可以调整缩放单元以更改网关的带宽和性能。 缩放更改可能需要最多 30 分钟来完成。
清理资源
如果不再需要网关,请使用以下命令将其删除:
Remove-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $RG
后续步骤
创建虚拟网络网关后,可以将虚拟网络链接到 ExpressRoute 线路:
若需了解有关 ExpressRoute 网关的更多信息: