Настройка шлюза виртуальной сети для ExpressRoute с помощью PowerShell

В этой статье показано, как добавить, изменить размер и удалить шлюз виртуальной сети для предварительно созданной виртуальной сети с помощью PowerShell. Действия применяются к виртуальным сетям, созданным с помощью модели развертывания Resource Manager для 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
Имя подсети шлюза Подсеть шлюза
Диапазон адресов подсети шлюза 192.168.200.0/26
Область/регион Западная часть США
Имя шлюза GW
Имя IP-адреса шлюза GWIP
Имя конфигурации IP-адреса шлюза gwipconf
Тип ExpressRoute

Добавление шлюза

Внимание

Если вы планируете использовать частный пиринг на основе IPv6 через ExpressRoute, выберите номер SKU с поддержкой зоны доступности (ErGw1Az, ErGw2Az, ErGw3Az) для -GatewaySku или используйте номер SKU недоступной зоны (Standard, HighPerformance, UltraPerformance) со стандартным и статическим общедоступным IP-адресом.

  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
    

    Если вы используете виртуальную сеть двойного стека и планируете использовать частный пиринг на основе IPv6 через ExpressRoute, создайте подсеть шлюза двойного стека.

    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-адреса больше не требуются для шлюзов ExpressRoute, за исключением шлюзов расширенной зоны. Если вы хотите создать шлюз в расширенной зоне Azure, запросить общедоступный IP-адрес с помощью параметра -ExtendedLocation :

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

    Примечание.

  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 шлюза:

    Для гибких масштабируемых шлюзов используйте номер SKU ErGwScale с параметрами -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 Гбит/с пропускной способности.

    Дополнительные сведения см. в статье о масштабируемом шлюзе ExpressRoute.


Проверка создания шлюза

Используйте следующую команду, чтобы проверить, был ли создан шлюз:

Get-AzVirtualNetworkGateway -ResourceGroupName $RG

Изменение размера шлюза

Номер SKU шлюза можно изменить, чтобы увеличить или уменьшить производительность шлюза. Используйте соответствующую команду на основе типа шлюза:

Для масштабируемых шлюзов (SKU ErGwScale) используйте команду 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: