Creación de un MCR VXC con la API
Este tema describe el procedimiento de la API para crear un MCR VXC. El primer ejemplo crea una AWS Hosted Connection en el mercado de EE. UU. - una de las configuraciones más complejas. Las plantillas para otros CSP aparecen más adelante en el tema.
Para obtener más información, consulta POST Validate MCR VXC Order (v3) en la referencia de la API.
Creación de un VXC entre un MCR y AWS con una Hosted Connection
Este ejemplo crea una AWS Hosted Connection en el mercado de EE. UU. Los pasos incluyen cómo:
- obtener el ID de producto del MCR
- encontrar el ID de ubicación para un mercado disponible de EE. UU.
- validar y realizar el pedido del VXC
- configurar dos rutas estáticas
- configurar conexiones BGPBorder Gateway Protocol (BGP) es un protocolo de enrutamiento estandarizado diseñado para intercambiar información de rutas y de alcanzabilidad entre sistemas autónomos (AS) en internet.
– una conexión con detalles de MEDMulti-Exit Discriminator (MED) es un atributo de ruta de BGP que puede influir en un vecino BGP para que tome una ruta preferida cuando el sistema autónomo (AS) anunciante es el mismo para las rutas candidatas y hay múltiples puntos de entrada para ese AS. Se prefiere una métrica MED más baja frente a una más alta.
y otra sin ellos.
Antes de comenzar, obtén un token de acceso válido. Para obtener más información, consulta Creación de una clave de API.
Para crear el VXC, necesitamos el productUid del MCR.
Para obtener el productUid del MCR
-
Obtén la lista de productos.
GET {baseUrl}/v2/products/ -
A partir de los detalles del producto devueltos, localiza el valor
productUiddel MCR que quieres conectar.Este ejemplo usa este valor: fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0
A continuación, busca el ID de ubicación para el mercado de EE. UU. que quieras con soporte para AWS Hosted Connections.
Para encontrar el locationId en el mercado de EE. UU. donde están disponibles las AWS Hosted Connections
-
Obtén la lista de todas las interfaces que Megaport tiene con los Cloud Service Providers.
GET {baseUrl}/v2/dropdowns/partner/megaportsPuedes filtrar los resultados por
connectTypeyvxcPermitted.GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWSHC&vxcPermitted=true -
Haz clic en la lupa y busca en la respuesta un sitio que coincida con tus criterios de ubicación.
Para este ejemplo, selecciona “US West (Oregon) (us-west-2) [DZ-RED]” con “locationId”: 57.
{
"connectType": "AWSHC",
"productUid": "f274bd09-1796-43af-8837-28fa4fa2a1ab",
"vxcPermitted": true,
"companyUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
"companyName": "AWS",
"title": "US West (Oregon) (us-west-2) [DZ-RED]",
"locationId": 57,
"speed": 10000,
"rank": 275,
"lag_id": 5,
"lag_primary": true,
"aggregation_id": 106462
},
Nota
[DZ-RED] means Red diversity zone. Each AWS Hosted Connection site provides two diversity zones to provide redundancy: DZ-Red and DZ-Blue.
Con el ID del MCR y el ID de ubicación de AWS, puede crear un VXC.
Para crear el VXC
-
Cree una solicitud con esta URL:
POST {baseUrl}/v3/networkdesign/buyConsejo
Para probar su solicitud antes de realizar el pedido, puede usar: POST {baseUrl}/v3/networkdesign/validate
-
Añada estos encabezados a la solicitud:
- Content-Type: application/json
- Authorization: Bearer {your accessToken}
-
Cree el Body de la solicitud con los detalles de configuración.
Este ejemplo usa el ID de producto del MCR, el ID de ubicación de AWS para el B-End, crea dos rutas estáticas y configura conexiones BGP: una con detalles MED y otra sin ellos. Las secciones siguientes describen las rutas estáticas y las conexiones BGP.
[
{
"productUid": "fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0",
"associatedVxcs": [
{
"rateLimit": 100,
"productName": "awshc",
"term": 12,
"shutdown": false,
"promoCode": "promox3mnthfree2",
"aEnd": {
"locationId": 320,
"vlan": 0,
"partnerConfig": {
"connectType": "VROUTER",
"interfaces": [
{
"vlan": null,
"ipMtu": 5000,
"ipAddresses": [
"10.191.0.25/29",
],
"bgpConnections": [
{
"peerAsn": 62512,
"localIpAddress": "10.191.0.25",
"peerIpAddress": "10.191.0.26",
"password": "cnn6eaeaETSjvjvjvjv",
"importWhitelist": null,
"importBlacklist": null,
"exportWhitelist": null,
"exportBlacklist": null,
"shutdown": false,
"description": "BGP with MED and BFD enabled",
"medIn": 100,
"medOut": 100,
"bfdEnabled": true
},
{
"peerAsn": 62511,
"localIpAddress": "10.191.0.27",
"peerIpAddress": "10.191.0.28",
"password": "cnn23049asdkfj",
"importWhitelist": null,
"importBlacklist": null,
"exportWhitelist": null,
"exportBlacklist": null,
"shutdown": false,
"description": "BGP without MED or BFD",
"medIn": null,
"medOut": null,
"bfdEnabled": false
}
],
"ipRoutes": [
{
"prefix": "10.0.0.0/24",
"nextHop": "10.191.0.26",
"description": "test static route 1"
},
{
"prefix": "10.0.1.9/24",
"nextHop": "10.191.0.27",
"description": "test static route 2"
}
],
"natIpAddresses": []
}
]
}
},
"bEnd": {
"locationId": 57,
"ownerUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
"productUid": "d5518ee1-e915-4e3d-a4e1-a2c7e04f2fdd",
"vlan": 0,
"partnerConfig": {
"name": "awshc",
"ownerAccount": "XXXXXXXXXXXX",
"connectType": "AWSHC"
}
},
"productType": "VXC",
"connectType": "AWSHC"
}
]
}
]
Rutas estáticas
Puede crear varias rutas estáticas por interfaz añadiendo un array ipRoutes al array interfaces del objeto de configuración del partner en el A-End:
"ipRoutes": [
{
"prefix": "10.0.0.0/24",
"nextHop": "10.191.0.26",
"description": "test static route 1"
},
{
"prefix": "10.0.1.9/24",
"nextHop": "10.191.0.27",
"description": "test static route 2"
}
],
ipRoutes vacío indica que no hay rutas estáticas.
| Atributo | Descripción | Obligatorio | Entrada válida |
|---|---|---|---|
| prefix | Prefijo IP (v4 y v6) que se enruta al nextHop | Sí | Prefijo IP v4/v6 - Si no se presenta máscara, la dirección se trata como host (/32) |
| nextHop | Dirección Next Hop | Sí | Dirección IP v4/v6 - Debe estar en la misma subred que la interfaz pero no ser la IP de la interfaz |
| description | Descripción opcional de la ruta estática | No | Cadena - Máx. 100 caracteres |
Conexiones BGP
Puede crear múltiples conexiones BGP por interfaz añadiendo un array bgpConnections al array interfaces del objeto de configuración del partner en el A-End:
"bgpConnections": [
{
"peerAsn": 62512,
"localIpAddress": "10.191.0.25",
"peerIpAddress": "10.191.0.26",
"password": "cnn6eaeaETSjvjvjvjv",
"importWhitelist": null,
"importBlacklist": null,
"exportWhitelist": null,
"exportBlacklist": null,
"shutdown": false,
"description": "BGP with MED and BFD enabled",
"medIn": 100,
"medOut": 100,
"bfdEnabled": true
},
{
"peerAsn": 62511,
"localIpAddress": "10.191.0.27",
"peerIpAddress": "10.191.0.28",
"password": "cnn23049asdkfj",
"importWhitelist": null,
"importBlacklist": null,
"exportWhitelist": null,
"exportBlacklist": null,
"shutdown": false,
"description": "BGP without MED or BFD",
"asPathPrependCount": "3",
"bfdEnabled": false
}
],
| Atributo | Descripción | Obligatorio | Entrada válida |
|---|---|---|---|
| peerAsn | El ASN del peer BGP remoto. | Sí | ASN válido - Enteros entre 1 y 4294967294 |
| localAsn | El ASN local puede anular el ASN del MCR para este peer BGP. En la mayoría de casos debe dejarse por defecto. | No | ASN válido - Enteros entre 1 y 4294967294 localAsn no puede establecerse si peerAsn == mcrAsn localAsn no puede coincidir con peerAsn si peerAsn != mcrAsn |
| localIpAddress | La dirección IPv4 o IPv6 en esta interfaz usada para comunicarse con el peer BGP. | Sí | IP válida v4/v6. Debe ser una IP de la interfaz |
| peerIpAddress | La dirección IP del peer BGP. | Sí | IP válida v4/v6 |
| password | Clave compartida usada para autenticar el peer BGP, hasta 32 caracteres. | No | 0-32 caracteres |
| importWhitelist | Filtrado de prefijos entrantes usando acción permit. MCR aplica el filtro a las rutas BGP entrantes desde el vecino. Rutas que no coincidan con los prefijos de esta lista se deniegan en el punto más temprano y nunca son usadas por el MCR. | No | 1-100 caracteres |
| importBlacklist | Filtrado de prefijos entrantes usando acción denegar. MCR bloquea las rutas que coinciden con los prefijos en esta lista. Todos los demás prefijos se permiten en la tabla de enrutamiento del MCR. | No | 1-100 caracteres |
| exportWhitelist | Filtrado de prefijos salientes usando acción permit. MCR aplica el filtro a las rutas salientes. Las rutas que coinciden con la lista se anuncian al vecino BGP; las demás se filtran. | No | 1-100 caracteres |
| exportBlacklist | Filtrado de prefijos salientes usando acción denegar. Las rutas que coinciden con la lista se bloquean desde el vecino BGP y las demás rutas se anuncian. | No | 1-100 caracteres |
| shutdown | Por defecto las conexiones BGP están habilitadas y se intentarán conectar activamente al peer. Seleccione shutdown para deshabilitar temporalmente la sesión BGP sin eliminarla. Útil para pruebas o resolución de problemas. | No | true/false - Por defecto false |
| description | Descripción opcional de la conexión BGP | No | 0-100 caracteres |
| medIn | El MED se aplicará a todas las rutas recibidas en esta conexión BGP. Dejar en blanco para usar el valor recibido desde el peer. La ruta con el valor más bajo será preferida. | No | Valores entre 0 y 4.294.967.295 |
| medOut | El MED se aplicará a todas las rutas transmitidas en esta conexión BGP. El AS vecino puede preferir el valor más bajo a su discreción. | No | Valores entre 0 y 4.294.967.295 |
| asPathPrependCount | Entero que representa el número de veces que el ASN local se prepondrá en los anuncios BGP salientes al peer. | No | Valores aceptables: 1-10 |
| bfdEnabled | Bidirectional Forwarding Detection permite detección rápida de fallos en esta conexión BGP. Cuando la conectividad se interrumpe, la sesión BGP se cierra sin esperar al temporizador hold de BGP. BFD puede mejorar el tiempo de recuperación cuando hay múltiples rutas disponibles. | No | true/false - Por defecto false |
Detección Bidireccional de Reenvío (BFD)
El objeto de configuración bfd se aplica a todas las conexiones BGP en la interfaz que tienen bfdEnabled = true.
Los ajustes de BFD no son editables. Los valores predeterminados configurados cuando BFD está habilitado son:
- Transmit Interval: 300 milisegundos
- Receive Interval: 300 milisegundos
- Multiplier: 3
Nota
Estos ajustes se usarán para todas las conexiones BGP en el VXC donde BFD esté habilitado.
Autoconfiguración con AWS, Azure y Google
Para Azure, AWS Hosted VIF y Google, Megaport puede configurar la direccionamiento IP y los detalles BGP tanto en el MCR como en el lado del CSP, garantizando una configuración BGP funcional. Esto también minimiza la necesidad de cambios entre los portales del CSP y de Megaport.
Aunque el portal de Portal maneja la autoconfiguración por defecto, también puede usar la API para activar la autoconfiguración BGP.
La funcionalidad se activa cuando la clave interfaces en partnerConfig no existe o es null.
Para configurar el peering BGP para CSPs
-
Cree una solicitud con esta URL:
POST {baseUrl}/v3/networkdesign/buy -
Añada estos encabezados a la solicitud:
- Content-Type: application/json
- Authorization: Bearer {your accessToken}
-
Cree el Body de la solicitud con los detalles de configuración.
Hay diferentes plantillas disponibles para los CSPs más populares.
AWS Hosted VIF
{
"productUid": "{{mcrid}}",
"associatedVxcs": [
{
"productName": "Test AWS VIF VXC",
"rateLimit": 100,
"term": 12,
"aEnd": {
"vlan": 0
},
"bEnd": {
"productUid": "{{awsPortUid}}",
"partnerConfig": {
"connectType": "AWS",
"type": "private",
"ownerAccount": "{{yourAWSAccountNumber}}"
}
}
}
]
}
Google Cloud
{
"productUid": "{{mcrid}}",
"associatedVxcs": [
{
"productName": "Test Google VXC",
"rateLimit": 100,
"term": 12,
"aEnd": {
"vlan": 0
},
"bEnd": {
"productUid": "{{googlePortUid}}",
"partnerConfig": {
"connectType": "GOOGLE",
"pairingKey": "{{googlekey}}"
}
},
"productType": "VXC"
}
]
}
Microsoft Azure
Para obtener detalles de configuración de Azure, consulta Creación de un VXC entre un MCR y Microsoft Azure con la API.