你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 PowerShell 配置 ExpressRoute 的虚拟网络网关
本文演示使用 PowerShell 为预先存在的虚拟网络 (VNet) 添加虚拟网络网关、重设其大小并进行删除的步骤。 此配置的步骤适用于使用资源管理器部署模型创建的 VNet(针对 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)。
若要连接到 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 地址。 创建网关之前请求 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。
创建网关配置。 网关配置定义要使用的子网和公共 IP 地址。 在此步骤中,将指定创建网关时使用的配置。 使用以下示例创建网关配置。
$ipconf = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName -Subnet $subnet -PublicIpAddress $pip
创建网关。 在此步骤中,-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:标准、高性能、超性能。
- 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 线路。