Inicio rápido: Creación y modificación de un circuito ExpressRoute mediante Azure PowerShell
En este inicio rápido se muestra cómo crear un circuito ExpressRoute en tres tipos de resistencia diferentes: máxima resistencia, alta resistencia y resistencia estándar mediante Azure PowerShell. Obtenga información sobre cómo comprobar el estado, la actualización, la eliminación o el desaprovisionamiento de un circuito mediante cmdlets de PowerShell.
Prerrequisitos
- Revise los Requisitos previos y lista de comprobación de ExpressRoute y los Flujos de trabajo de ExpressRoute para aprovisionamiento de circuitos y estados de circuitos de ExpressRoute antes de comenzar la configuración.
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Azure PowerShell instalado localmente o Azure Cloud Shell
Azure Cloud Shell
En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.
Para iniciar Azure Cloud Shell:
Opción | Ejemplo o vínculo |
---|---|
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell. | |
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. | |
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. |
Para usar Azure Cloud Shell:
Inicie Cloud Shell.
Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.
Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.
Seleccione Enter para ejecutar el código o comando.
Creación y aprovisionamiento de un circuito ExpressRoute
Iniciar sesión en la cuenta de Azure y seleccione la suscripción
Si está usando Azure Cloud Shell, iniciará sesión automáticamente en su cuenta de Azure después de hacer clic en "Probar". Para iniciar sesión de forma local, abra la consola de PowerShell con privilegios elevados y ejecute el cmdlet para conectarse.
Connect-AzAccount
Si tiene más de una suscripción, obtenga una lista de las suscripciones de Azure.
Get-AzSubscription
Especifique la suscripción que desea usar.
Select-AzSubscription -SubscriptionName "Name of subscription"
Obtención de la lista de proveedores, ubicaciones y anchos de banda admitidos
Para crear un circuito ExpressRoute, necesita la lista de proveedores de conectividad, ubicaciones y opciones de ancho de banda admitidas.
El cmdlet de PowerShell Get-AzExpressRouteServiceProvider devuelve esta información, que se usará en pasos posteriores:
Get-AzExpressRouteServiceProvider
Compruebe si aparece su proveedor de conectividad. Tome nota de la información siguiente, ya que la va a necesitar para crear un circuito:
- Nombre
- PeeringLocations
- BandwidthsOffered
Ahora está listo para crear un circuito ExpressRoute.
Obtener la lista de ubicaciones resistentes
Si va a crear un circuito ExpressRoute con un tipo de resistencia de máximo de resistencia, debe conocer la lista de ubicaciones resistentes. Estos son los pasos para recuperar esta información:
Clonación del script
# Clone the setup script from GitHub.
git clone https://github.com/Azure-Samples/azure-docs-powershell-samples/
# Change to the directory where the script is located.
CD azure-docs-powershell-samples/expressroute/
Ejecutar script de ubicaciones resistentes
Ejecute el script Get-AzExpressRouteResilientLocations.ps1 para obtener la lista de ubicaciones resistentes. En el ejemplo siguiente se muestra cómo obtener las ubicaciones resistentes de una suscripción específica ordenadas por distancia desde Silicon Valley:
$SubscriptionId = Get-AzureSubscription -SubscriptionName "<SubscriptionName>"
highAvailabilitySetup/Get-AzExpressRouteResilientLocations.ps1 -SubscriptionId $SubscriptionId -RelativeLocation "silicon valley"
Si no especifica la ubicación, obtendrá una lista de todas las ubicaciones resistentes.
Creación de un circuito ExpressRoute
Si todavía no tiene un grupo de recursos, debe crear uno antes de crear ExpressRoute. Para ello, ejecute el cmdlet New-AzResourceGroup:
$resourceGroupName = (New-AzResourceGroup -Name "ExpressRouteResourceGroup" -Location "West US").ResourceGroupName
Si ya tiene un grupo de recursos, puede usar Get-AzResourceGroup para obtener el nombre del grupo de recursos en una variable:
$resourceGroupName = (Get-AzResourceGroup -Name "<ResourceGroupName>").ResourceGroupName
Máxima resistencia (recomendado) proporciona el mayor nivel de resistencia para la conexión de ExpressRoute. Proporciona dos circuitos de ExpressRoute con redundancia local en dos ubicaciones de perímetro de ExpressRoute diferentes.
En el ejemplo siguiente se muestra cómo crear dos circuitos ExpressRoute a través de Equinix con redundancia local en Silicon Valley y Washington DC. Si usa otro proveedor y otra configuración, reemplace esa información al realizar la solicitud.
Nota:
En este ejemplo se usa el script New-AzHighAvailabilityExpressRouteCircuits.ps1. Debe clonar el script de GitHub para crear los circuitos. Para obtener más información, consulte Clonar el script.
$SubscriptionId = Get-AzureSubscription -SubscriptionName "<SubscriptionName>"
highAvailabilitySetup/New-AzHighAvailabilityExpressRouteCircuits.ps1 -SubscriptionId $SubscriptionId -ResourceGroupName $resourceGroupName -Location "westus" -Name1 $circuit1Name -Name2 $circuit2Name -SkuFamily1 "MeteredData" -SkuFamily2 "MeteredData" -SkuTier1 "Standard" -SkuTier2 "Standard" -ServiceProviderName1 "Equinix" -ServiceProviderName2 "Equinix" -PeeringLocation1 "Silicon Valley" -PeeringLocation2 "Washington DC" -BandwidthInMbps 1000
Nota:
La máxima resistencia proporciona la máxima protección frente a interrupciones en toda la ubicación y errores de conectividad en una ubicación de ExpressRoute. Esta opción se recomienda para todas las cargas de trabajo críticas y de producción.
Asegúrese de que especifica el nivel y la familia correctos de SKU.
- El nivel de SKU determina si un circuito ExpressRoute es Local, Estándar o Premium. Puede especificar Local, *Estándar o Premium.
- La familia de SKU determina el tipo de facturación. Puede seleccionar MeteredData para el plan de datos limitado y UnlimitedData para el plan de datos ilimitado. Puede cambiar el tipo de facturación de MeteredData a UnlimitedData, pero no puede cambiar el tipo de UnlimitedData a MeteredData. Un circuito Local siempre es UnlimitedData.
Importante
El circuito ExpressRoute se factura a partir del momento en que se emite una clave de servicio. Asegúrese de realizar esta operación cuando el proveedor de conectividad esté listo para aprovisionar el circuito.
La respuesta contiene la clave del servicio. Puede obtener una descripción detallada de todos los parámetros ejecutando el siguiente comando:
get-help New-AzExpressRouteCircuit -detailed
Lista de todos los circuitos ExpressRoute
Para obtener una lista de todos los circuitos ExpressRoute que haya creado, ejecute el comando Get-AzExpressRouteCircuit:
Get-AzExpressRouteCircuit
La respuesta será similar al siguiente ejemplo:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : NotProvisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
Esta información se puede recuperar en cualquier momento con el cmdlet Get-AzExpressRouteCircuit
. Si se realiza la llamada sin parámetros, se obtendrá una lista de todos los circuitos. La clave de servicio se muestra en el campo ServiceKey:
Get-AzExpressRouteCircuit
La respuesta será similar al siguiente ejemplo:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : NotProvisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
Envío de la clave de servicio al proveedor de conectividad para el aprovisionamiento
ServiceProviderProvisioningState proporciona información sobre el estado actual del aprovisionamiento en el lado del proveedor de servicios. CircuitProvisioningState indica el estado en el entorno de Microsoft. Para obtener más información sobre los estados de aprovisionamiento del circuito, consulte el artículo Flujos de trabajo.
Cuando se crea un nuevo circuito ExpressRoute, dicho circuito tiene el siguiente estado:
ServiceProviderProvisioningState : NotProvisioned
CircuitProvisioningState : Enabled
El circuito pasa al estado siguiente cuando el proveedor de conectividad lo habilita para el usuario:
ServiceProviderProvisioningState : Provisioning
CircuitProvisioningState : Enabled
Para usar el circuito ExpressRoute, debe tener el siguiente estado:
ServiceProviderProvisioningState : Provisioned
CircuitProvisioningState : Enabled
Comprobación periódica del estado y la condición de la clave del circuito
La comprobación del estado y la condición de la clave de servicio le permiten saber cuándo el proveedor aprovisionó el circuito. Después de configurar el circuito, ServiceProviderProvisioningState aparecerá como Aprovisionado, tal como se muestra en el ejemplo siguiente:
Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
La respuesta será similar al siguiente ejemplo:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : Provisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
Creación de la configuración de enrutamiento
Consulte Creación y modificación del enrutamiento de un circuito ExpressRoute mediante PowerShell para ver las instrucciones paso a paso.
Importante
Estas instrucciones se aplican solo a los circuitos creados con proveedores de servicios que ofrecen servicios de conectividad de nivel 2. Si usa un proveedor de servicios que ofrece servicios administrados de nivel 3 (normalmente VPN IP, como MPLS), el mismo proveedor de conectividad configura y administra el enrutamiento.
Vinculación de una red virtual a un circuito ExpressRoute
A continuación, vincule una red virtual a su circuito ExpressRoute. Consulte el artículo Vinculación de redes virtuales a circuitos ExpressRoute al trabajar con el modelo de implementación de Resource Manager.
Obtención del estado de un circuito ExpressRoute
Esta información se puede recuperar en cualquier momento con el cmdlet Get-AzExpressRouteCircuit. Si se realiza la llamada sin parámetros, se obtendrá una lista de todos los circuitos.
Get-AzExpressRouteCircuit
La respuesta es similar al siguiente ejemplo:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : Provisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
Se puede obtener información sobre un circuito ExpressRoute específico si se pasa el nombre del grupo de recursos y el nombre del circuito como parámetro a la llamada:
Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
La respuesta será similar al siguiente ejemplo:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : Provisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
Puede obtener una descripción detallada de todos los parámetros ejecutando el siguiente comando:
get-help Get-AzExpressRouteCircuit -detailed
Modificación de un circuito ExpressRoute
Puede modificar determinadas propiedades de un circuito ExpressRoute sin afectar a la conectividad.
Puede hacer las siguientes tareas sin experimentar tiempo de inactividad:
- Habilitar o deshabilitar el complemento ExpressRoute Premium en su circuito ExpressRoute.
- Aumente el ancho de banda del circuito ExpressRoute si el puerto tiene capacidad disponible. No se admite la degradación del ancho de banda de un circuito.
- Cambio del plan de medición de datos limitados a datos ilimitados. No se admite cambiar el plan de medición de datos ilimitados a datos limitados.
- Puede habilitar y deshabilitar Allow Classic Operations(Permitir operaciones clásicas).
Para más información sobre los límites y las limitaciones, consulte las preguntas más frecuentes de ExpressRoute.
Para habilitar el complemento ExpressRoute Premium
Puede habilitar el complemento ExpressRoute Premium para el circuito existente mediante el siguiente fragmento de PowerShell:
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
$ckt.Sku.Tier = "Premium"
$ckt.sku.Name = "Premium_MeteredData"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
El circuito ahora tiene habilitadas las características del complemento ExpressRoute Premium. La facturación de la capacidad del complemento Premium comienza en cuanto el comando se ejecuta correctamente.
Para deshabilitar el complemento ExpressRoute Premium
Importante
Esta operación puede producir un error si usa recursos que son más grandes de lo que está permitido para el circuito estándar.
Tenga en cuenta la información siguiente:
- Debe asegurarse de que el número de redes virtuales vinculadas al circuito es inferior a 10 antes de realizar la degradación de Premium a Estándar. Si no lo hace, se producirá un error en la solicitud de actualización y se le facturará con las tarifas de nivel premium.
- Tiene que desvincular primero todas las redes virtuales en otras regiones geopolíticas. Si no elimina el vínculo, se producirá un error en la solicitud de actualización y se le continuará facturando con las tarifas de nivel Premium.
- La tabla de enrutamiento tiene que tener menos de 4.000 rutas para el emparejamiento entre pares privados. Si la tabla de rutas tiene más de 4000 rutas, se quita la sesión de BGP. La sesión de BGP no se restablecerá hasta que el número de prefijos anunciados sea inferior a 4000.
Puede deshabilitar el complemento ExpressRoute Premium en el circuito existente mediante el siguiente cmdlet de PowerShell:
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
$ckt.Sku.Tier = "Standard"
$ckt.sku.Name = "Standard_MeteredData"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
Para actualizar el ancho de banda del circuito ExpressRoute
Consulte la página P+F de ExpressRoutepara conocer las opciones de ancho de banda compatibles con su proveedor. Puede elegir cualquier tamaño mayor que el tamaño de su circuito existente.
Importante
Si el puerto existente no tiene la capacidad adecuada, tendrá que volver a crear el circuito ExpressRoute. El circuito no se puede actualizar si no hay más capacidad disponible en la ubicación.
No podrá reducir el ancho de banda de un circuito ExpressRoute sin interrupciones. Para degradar un ancho de banda, es necesario desaprovisionar el circuito ExpressRoute y luego volver a aprovisionar un nuevo circuito ExpressRoute.
Cuando haya decidido el tamaño que necesita, use el comando siguiente para cambiar el tamaño del circuito:
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
$ckt.ServiceProviderProperties.BandwidthInMbps = 1000
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
El circuito se actualiza en el lado de Microsoft. Así pues, debe ponerse en contacto con su proveedor de conectividad para actualizar las configuraciones de su parte para que coincidan con este cambio. Después de realizar esta notificación, se le empezará a facturar por la opción de ancho de banda actualizada.
Para pasar la SKU de limitada a ilimitada
Puede cambiar la SKU de un circuito ExpressRoute mediante el siguiente fragmento de código de PowerShell:
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
$ckt.Sku.Family = "UnlimitedData"
$ckt.sku.Name = "Premium_UnlimitedData"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
Para controlar el acceso a los entornos de implementación clásica y del Resource Manager
Revise las instrucciones que se ofrecen en Transición de los circuitos ExpressRoute desde el modelo de implementación clásica al modelo de implementación de Resource Manager.
Desaprovisionamiento de un circuito ExpressRoute
Tenga en cuenta la información siguiente:
- Todas las redes virtuales deben desvincularse del circuito ExpressRoute. Si se produce un error en esta operación, compruebe si hay alguna red virtual vinculada al circuito.
- Si el estado de aprovisionamiento del proveedor de servicios del circuito ExpressRoute es Aprovisionando o Aprovisionado, debe colaborar con su proveedor de servicios para que desaprovisionen el circuito. Se le siguen reservando recursos y facturándole por ello hasta que el proveedor de servicios complete el desaprovisionamiento del circuito y nos lo notifique.
- Si el proveedor de servicios desaprovisionó el circuito, es decir, el estado de aprovisionamiento del proveedor de servicios está establecido en No aprovisionado, se puede eliminar el circuito. Se detiene la facturación del circuito.
Limpieza de recursos
Puede eliminar el circuito ExpressRout con la ejecución del siguiente comando:
Remove-AzExpressRouteCircuit -ResourceGroupName "ExpressRouteResourceGroup" -Name "ExpressRouteARMCircuit"
Pasos siguientes
Después de crear el circuito y aprovisionarlo con el proveedor, continúe en el paso siguiente para configurar el emparejamiento: