Inicio rápido: Creación y configuración de una instancia de Route Server mediante Azure PowerShell

Este artículo le ayuda a configurar Azure Route Server para su emparejamiento con una aplicación virtual de red (NVA) en su red virtual mediante Azure PowerShell. Route Server aprende las rutas de la NVA y las programa en las máquinas virtuales de la red virtual. Azure Route Server también anuncia las rutas de la red virtual a la NVA. Para más información, consulte Azure Route Server.

Diagrama del entorno de implementación de Route Server mediante Azure PowerShell.

Importante

Los servicios Azure Route Server creados antes del 1 de noviembre de 2021, que no tienen asociada una dirección IP pública, se implementan con la oferta de versión preliminar pública. La oferta de versión preliminar pública no tiene cobertura del Acuerdo de Nivel de Servicio y soporte técnico con disponibilidad general. Para implementar Azure Route Server con la oferta disponible con carácter general y acceder al Acuerdo de Nivel de Servicio y soporte técnico con disponibilidad general, elimine y vuelva a crear su servicio Route Server.

Requisitos previos

  • Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
  • Asegúrese de que tiene los módulos más recientes de PowerShell, o bien, puede usar Azure Cloud Shell en el portal.
  • Consulte Límites de servicio de Azure Route Server.
  • Si PowerShell se ejecuta localmente, también debe ejecutar Connect-AzAccount para crear una conexión con Azure.

Creación de un grupo de recursos y una red virtual

Crear un grupo de recursos

Para poder crear una instancia de Azure Route Server, debe crear un grupo de recursos para hospedarla. Cree un grupo de recursos con New-AzResourceGroup. En este ejemplo se crea un grupo de recursos denominado myRouteServerRG en la ubicación westus:

$rg = @{
    Name = 'myRouteServerRG'
    Location = 'WestUS'
}
New-AzResourceGroup @rg

Creación de una red virtual

Cree una red virtual con New-AzVirtualNetwork. En este ejemplo se crea una red virtual predeterminada denominada myVirtualNetwork en la ubicación WestUS: si ya tiene una red virtual, puede ir directamente a la sección siguiente.

$vnet = @{
    Name = 'myVirtualNetwork'
    ResourceGroupName = 'myRouteServerRG'
    Location = 'WestUS'
    AddressPrefix = '10.0.0.0/16'    
}
$virtualNetwork = New-AzVirtualNetwork @vnet

Adición de una subred dedicada

Azure Route Server requiere una subred dedicada denominada RouteServerSubnet. El tamaño de subred debe ser de al menos /27 o un prefijo más corto (como /26 o /25) o recibirá un mensaje de error al implementar Route Server. Cree una configuración de subred denominada RouteServerSubnet con 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

Creación de la instancia de Route Server

  1. Para garantizar la conectividad con el servicio back-end que administra la configuración de Route Server, es necesario asignar una dirección IP pública. Cree una dirección IP pública estándar denominada RouteServerIP con New-AzPublicIpAddress:

    $ip = @{
        Name = 'myRouteServerIP'
        ResourceGroupName = 'myRouteServerRG'
        Location = 'WestUS'
        AllocationMethod = 'Static'
        IpAddressVersion = 'Ipv4'
        Sku = 'Standard'
    }
    $publicIp = New-AzPublicIpAddress @ip
    
  2. Cree la instancia de Azure Route Server con New-AzRouteServer. En este ejemplo se crea una instancia de Azure Route Server denominada myRouteServer en la ubicación WestUS. HostedSubnet es el identificador de recurso de RouteServerSubnet creado en la sección anterior.

    $rs = @{
        RouteServerName = 'myRouteServer'
        ResourceGroupName = 'myRouteServerRG'
        Location = 'WestUS'
        HostedSubnet = $subnetId
        PublicIP = $publicIp
    }
    New-AzRouteServer @rs 
    

Creación del emparejamiento de BGP con una NVA

Para establecer el emparejamiento BGP desde el servidor de rutas a la aplicación virtual de red, use Add-AzRouteServerPeer:

your_nva_ip es la dirección IP de la red virtual asignada a la NVA. your_nva_asn es el número de sistema autónomo (ASN) configurado en la NVA. El ASN puede ser cualquier número de 16 bits que no se encuentre en el intervalo del 65515 al 65520. Este intervalo de ASN está reservado por Microsoft.

$peer = @{
    PeerName = 'myNVA'
    PeerIp = 'your_nva_ip'
    PeerAsn = 'your_nva_asn'
    RouteServerName = 'myRouteServer'
    ResourceGroupName = myRouteServerRG'
}
Add-AzRouteServerPeer @peer

Para configurar el emparejamiento con una NVA diferente u otra instancia de la misma NVA con fines de redundancia, use el mismo comando que antes con valores diferentes de PeerName, PeerIp y PeerAsn.

Finalización de la configuración en la NVA

Para completar la configuración en la NVA y habilitar las sesiones de BGP, necesita la dirección IP y el ASN de la instancia de Azure Route Server. Para obtener esta información, utilice Get-AzRouteServer:

$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
} 
Get-AzRouteServer @routeserver

El resultado tendrá un aspecto similar al siguiente:

RouteServerAsn : 65515
RouteServerIps : {10.5.10.4, 10.5.10.5}

Importante

Se recomienda emparejar cada NVA con ambas instancias de Route Server para garantizar que las rutas de red virtual se anuncien a través de las conexiones NVA, y para lograr una alta disponibilidad.

Configuración del intercambio de rutas

Si tiene una puerta de enlace de red virtual (ExpressRoute o VPN) en la misma red virtual, puede habilitar BranchToBranchTraffic para intercambiar rutas entre la puerta de enlace y Route Server.

Importante

Azure VPN Gateway debe estar configurado en modo activo-activo y tener el valor de ASN establecido en 65515.

Advertencia

Al crear o eliminar una instancia de Route Server en una red virtual que contiene una puerta de enlace de red virtual (ExpressRoute o VPN), cabe esperar un tiempo de inactividad hasta que la operación se completa. Si tiene un circuito ExpressRoute conectado a la red virtual en la que va a crear o eliminar el servidor de rutas, el tiempo de inactividad no afecta al circuito ExpressRoute ni a sus conexiones a otras redes virtuales.

  1. Para habilitar el intercambio de rutas entre Azure Route Server y las puertas de enlace, use Update-AzRouteServer con la marca -AllowBranchToBranchTraffic:
$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
    AllowBranchToBranchTraffic
}  
Update-AzRouteServer @routeserver 
  1. Para deshabilitar el intercambio de rutas entre Azure Route Server y las puertas de enlace, use Update-AzRouteServer sin la marca -AllowBranchToBranchTraffic:
$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
}  
Update-AzRouteServer @routeserver 

Solución de problemas

Use Get-AzRouteServerPeerAdvertisedRoute para ver las rutas anunciadas por Azure Route Server.

$remotepeer = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
    PeerName = 'myNVA'
}
Get-AzRouteServerPeerAdvertisedRoute @remotepeer

Use Get-AzRouteServerPeerLearnedRoute para ver las rutas aprendidas por la instancia de Azure Route Server.

$remotepeer = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
    PeerName = 'myNVA'
}  
Get-AzRouteServerPeerLearnedRoute @remotepeer

Limpieza de recursos

Si ya no necesita la instancia de Azure Route Server, use el primer comando para quitar el emparejamiento de BGP y, a continuación, el segundo para quitar la instancia de Route Server.

  1. Elimine el emparejamiento de BGP entre Azure Route Server y una NVA con Remove-AzRouteServerPeer:
$remotepeer = @{
    PeerName = 'myNVA'
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
} 
Remove-AzRouteServerPeer @remotepeer
  1. Quite la instancia de Azure Route Server con Remove-AzRouteServer:
$routeserver = @{
    RouteServerName = 'myRouteServer'
    ResourceGroupName = 'myRouteServerRG'
} 
Remove-AzRouteServer @routeserver

Pasos siguientes

Después de crear la instancia de Azure Route Server, continúe para obtener información sobre cómo interactúa Azure Route Server con las puertas de enlace de ExpressRoute y VPN Gateway: