Краткое руководство. Создание и настройка сервера маршрутизации с помощью Azure PowerShell
Эта статья поможет вам настроить Azure Route Server для пиринга с виртуальным сетевым модулем (NVA) в виртуальной сети с помощью Azure PowerShell. Сервер маршрутизации изучает маршруты из NVA и программирует их на виртуальных машинах в виртуальной сети. Сервер маршрутизации Azure также объявляет маршруты виртуальной сети к NVA. См. дополнительные сведения об Azure Route Server.
Внимание
Серверы Azure Route Server, созданные до 1 ноября 2021 г. и не имеющие связанных общедоступных IP-адресов, развертываются в рамках предложения общедоступной предварительной версии. На предложение общедоступной предварительной версии не распространяется поддержка и соглашение об уровне обслуживания для общедоступной версии. Чтобы развернуть Azure Route Server в рамках предложения общедоступной версии и получить поддержку и соглашение об уровне обслуживания для общедоступной версии, удалите Route Server и создайте его заново.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Убедитесь, что у вас есть последняя версия модулей PowerShell, или перейдите к Azure Cloud Shell на портале.
- Ознакомьтесь с ограничениями службы для сервера маршрутизации Azure.
- При использовании PowerShell на локальном компьютере также нужно запустить
Connect-AzAccount
, чтобы создать подключение к Azure.
Создание группы ресурсов и виртуальной сети
Создание или изменение группы ресурсов
Прежде чем создавать сервер Azure Route Server, необходимо создать группу ресурсов для его размещения. Создайте группу ресурсов с помощью командлета New-AzResourceGroup. В следующем примере создается группа ресурсов с именем myRouteServerRG в расположении WestUS.
$rg = @{
Name = 'myRouteServerRG'
Location = 'WestUS'
}
New-AzResourceGroup @rg
Создание виртуальной сети
Создайте виртуальную сеть с помощью командлета New-AzVirtualNetwork. В этом примере создается виртуальная сеть по умолчанию с именем myVirtualNetwork в расположении WestUS. Если у вас уже есть виртуальная сеть, можно перейти к следующему разделу.
$vnet = @{
Name = 'myVirtualNetwork'
ResourceGroupName = 'myRouteServerRG'
Location = 'WestUS'
AddressPrefix = '10.0.0.0/16'
}
$virtualNetwork = New-AzVirtualNetwork @vnet
Добавление выделенной подсети
Для Azure Route Server требуется выделенная подсеть с именем RouteServerSubnet. Размер подсети должен быть не менее /27 или более коротким префиксом (например, /26 или /25) или вы получите сообщение об ошибке при развертывании сервера маршрутов. Создайте конфигурации подсети с именем RouteServerSubnet с помощью командлета Add-AzVirtualNetworkSubnetConfig.
$subnet = @{
Name = 'RouteServerSubnet'
VirtualNetwork = $virtualNetwork
AddressPrefix = '10.0.0.0/24'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
$virtualnetwork | Set-AzVirtualNetwork
$vnetInfo = Get-AzVirtualNetwork -Name myVirtualNetwork -ResourceGroupName myRouteServerRG
$subnetId = (Get-AzVirtualNetworkSubnetConfig -Name RouteServerSubnet -VirtualNetwork $vnetInfo).Id
Создание сервера маршрутизации
Чтобы гарантировать подключение к внутренней службе, управляющей конфигурацией Route Server, необходимо назначить общедоступный IP-адрес. С помощью командлета New-AzPublicIpAddress создайте стандартный общедоступный IP-адрес с именем RouteServerIP.
$ip = @{ Name = 'myRouteServerIP' ResourceGroupName = 'myRouteServerRG' Location = 'WestUS' AllocationMethod = 'Static' IpAddressVersion = 'Ipv4' Sku = 'Standard' } $publicIp = New-AzPublicIpAddress @ip
Создайте Azure Route Server с помощью командлета New-AzRouteServer. В этом примере создается сервер Azure Route Server с именем myRouteServer в расположении WestUS. HostedSubnet — это идентификатор ресурса RouteServerSubnet, созданный в предыдущем разделе.
$rs = @{ RouteServerName = 'myRouteServer' ResourceGroupName = 'myRouteServerRG' Location = 'WestUS' HostedSubnet = $subnetId PublicIP = $publicIp } New-AzRouteServer @rs
Примечание.
Развертывание сервера маршрутизации может занять до 30 минут.
Создание пиринга BGP с NVA
Чтобы установить пиринг BGP с сервера Route Server к NVA, используйте командлет Add-AzRouteServerPeer:
your_nva_ip
— это IP-адрес виртуальной сети, назначенный NVA. your_nva_asn
— это номер ASN, настроенный в NVA. Номер ASN может быть любым 16-разрядным числом, отличающимся от значений в диапазоне 65515–65520. Этот диапазон ASN зарезервирован корпорацией Майкрософт.
$peer = @{
PeerName = 'myNVA'
PeerIp = 'your_nva_ip'
PeerAsn = 'your_nva_asn'
RouteServerName = 'myRouteServer'
ResourceGroupName = myRouteServerRG'
}
Add-AzRouteServerPeer @peer
Чтобы настроить пиринг с другим NVA или другим экземпляром того же NVA для обеспечения избыточности, используйте приведенную выше команду с другими значениями PeerName, PeerIp и PeerAsn.
Завершение настройки NVA
Чтобы завершить настройку NVA и включить сеансы BGP, требуется IP-адрес и номер ASN сервера маршрутизации Azure. Эти данные можно получить с помощью командлета Get-AzRouteServer.
$routeserver = @{
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
}
Get-AzRouteServer @routeserver
Данные результата выглядят следующим образом:
RouteServerAsn : 65515
RouteServerIps : {10.5.10.4, 10.5.10.5}
Внимание
Мы рекомендуем пиринговую связь каждого NVA с обоими экземплярами сервера маршрутизации, чтобы гарантировать, что маршруты виртуальной сети объявляются через подключения NVA и обеспечивают высокую доступность.
Настройка обмена маршрутами
Если у вас есть шлюз виртуальной сети (ExpressRoute или VPN) в той же виртуальной сети, можно включить BranchToBranchTraffic для обмена маршрутами между шлюзом и сервером маршрутов.
Внимание
VPN-шлюз Azure должен быть настроен в активно-активном режиме и иметь ASN, равный 65515.
Предупреждение
При создании или удалении сервера маршрутов в виртуальной сети, содержащей шлюз виртуальной сети (ExpressRoute или VPN), ожидайте простоя до завершения операции. Если у вас есть канал ExpressRoute, подключенный к виртуальной сети, в которой вы создаете или удаляете сервер маршрутизации, время простоя не влияет на канал ExpressRoute или его подключения к другим виртуальным сетям.
- Чтобы включить обмен маршрутами между Azure Route Server и шлюзами, используйте командлет Update-AzRouteServer с флагом -AllowBranchToBranchTraffic.
$routeserver = @{
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
AllowBranchToBranchTraffic
}
Update-AzRouteServer @routeserver
- Чтобы отключить обмен маршрутами между Azure Route Server и шлюзами, используйте командлет Update-AzRouteServer без флага -AllowBranchToBranchTraffic.
$routeserver = @{
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
}
Update-AzRouteServer @routeserver
Устранение неполадок
Используйте командлет Get-AzRouteServerPeerAdvertisedRoute, чтобы просмотреть маршруты, объявляемые сервером Azure Route Server.
$remotepeer = @{
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
PeerName = 'myNVA'
}
Get-AzRouteServerPeerAdvertisedRoute @remotepeer
Используйте командлет Get-AzRouteServerPeerLearnedRoute, чтобы просмотреть маршруты, полученные сервером Azure Route Server.
$remotepeer = @{
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
PeerName = 'myNVA'
}
Get-AzRouteServerPeerLearnedRoute @remotepeer
Очистка ресурсов
Если сервер Azure Route Server больше не нужен, удалите пиринг BGP с помощью первой команды и сервер Route Server с помощью второй.
- Удалите пиринг BGP между Azure Route Server и NVA с помощью командлета Remove-AzRouteServerPeer.
$remotepeer = @{
PeerName = 'myNVA'
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
}
Remove-AzRouteServerPeer @remotepeer
- Удалите Azure Route Server с помощью командлета Remove-AzRouteServer.
$routeserver = @{
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
}
Remove-AzRouteServer @routeserver
Следующие шаги
Создав сервер Azure Route Server, вы можете продолжить изучение способов взаимодействия Azure Route Server с ExpressRoute и VPN-шлюзами: