Creación de un VXC entre un MVE y Microsoft Azure con la API
Este tema describe el procedimiento de la API para crear un VXC desde un MVE hacia Microsoft Azure ExpressRoute. La configuración es un proceso de dos pasos: primero, busque las ubicaciones de interconexión de Azure con la clave de servicio de Azure; luego, puede crear el VXC hacia una vNIC específica en su MVE.
Nota
Antes de poder conectarse a Azure, debe configurar un circuito ExpressRoute en la consola de Azure. Cuando esté configurado, recibirá una clave de servicio con los detalles de la conexión. Para configurar su conexión de MVE a Azure, consulte los detalles de la clave de servicio y, a continuación, cree VXCs hacia los puertos de Azure.
La implementación de MVE hacia Azure incluye estas tareas:
-
Configurar un circuito ExpressRoute en la consola de Azure
Cuando se implemente, obtendrá una clave de servicio. Al validar una clave de servicio, se le presentan los puertos primario y secundario y puede elegir el puerto para la conexión. Puede usar la clave por segunda vez y crear otra conexión al puerto sin usar.
Para obtener más información, consulte el tema de ayuda de Microsoft Tutorial: Create and modify an ExpressRoute circuit.
-
Validar la clave de servicio de Azure
Al solicitar un servicio de Azure, use la clave de servicio y asegúrese de que haya un puerto libre para una conexión.
La respuesta de la API incluye los detalles de ExpressRoute de los puertos y pares asociados. Necesita los detalles del puerto de Azure para crear el VXC.
-
Crear e implementar un VXC
Con la clave de servicio validada y los detalles del puerto, cree el VXC hacia Microsoft Azure desde el MVE.
Como parte de la configuración del VXC, puede elegir el tipo de Peering. El tipo de Peering puede ser privado o Microsoft.
Un tipo de Peering definido da como resultado un Peering configurado automáticamente con pares alineados tanto en el lado de Azure como en el de Megaport, y un sistema implementado con una configuración funcional conocida. Puede modificar la configuración una vez implementada.
Antes de comenzar, obtenga un token de acceso válido. Para obtener más información, consulte Creación de una clave de API.
Validar la clave de servicio
Utilice la API para validar una clave de servicio de Microsoft Azure. La respuesta incluye los detalles de ExpressRoute de los puertos y pares asociados. Necesita los detalles del puerto de Azure para crear el VXC.
Revise la clave de servicio y asegúrese de que haya un Port libre para una conexión. En la respuesta de la API, los puertos disponibles se listan como "vxc":null y los puertos con un valor asignado no están disponibles.
Para obtener más información sobre cada campo de la respuesta, consulte Campos de respuesta de la clave de servicio de Azure.
Para validar la clave de servicio
-
Use la API GET Look Up Azure Service Key (GET Buscar clave de servicio de Azure) para buscar los detalles de ubicación de Microsoft Azure con la clave de servicio:
GET {baseUrl}/v2/secure/azure/{service_key}
Aquí hay una respuesta de ejemplo para una clave de emparejamiento con un puerto disponible (vxc = null).
{
"message": "Successful lookup",
"terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
"data": {
"bandwidth": 50,
"connectType": "AZURE",
"managed": false,
"megaports": [
{
"productId": 53013,
"productUid": "83f95deb-a537-485e-80d9-c442c776ddc9",
"name": "London Primary",
"nServiceId": 119129,
"description": "Azure ExpressRoute at Equinix LD5",
"companyId": 1475,
"companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
"companyName": "Azure ExpressRoute",
"portSpeed": 10000,
"locationId": 90,
"state": null,
"country": "United Kingdom",
"port": 53013,
"type": "primary",
"vxc": null
},
{
"productId": 53014,
"productUid": "d84ad163-8e22-4150-8cb7-44f1aecf9e90",
"name": "London Secondary",
"nServiceId": 119130,
"description": "Azure ExpressRoute at Equinix LD5",
"companyId": 1475,
"companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
"companyName": "Azure ExpressRoute",
"portSpeed": 10000,
"locationId": 90,
"state": null,
"country": "United Kingdom",
"port": 53014,
"type": "secondary",
"vxc": null
}
],
"peers": [],
"resource_type": "csp_connection",
"service_key": "3f0f66b9-0c82-4d61-ae31-f5985c841a4a",
"vlan": 19
}
}
Crear e implementar un VXC hacia una vNIC específica
Con los detalles del puerto ExpressRoute de Azure obtenidos en la búsqueda de la clave de servicio, cree el VXC hacia Azure.
Especifique los detalles de configuración en el cuerpo (Body) de la solicitud. El primer productUid identifica el MVE y el bEnd: productUid identifica la interfaz de Azure. También debe proporcionar la clave de servicio de Azure ExpressRoute en el campo serviceKey.
Consejo
Busque las ubicaciones de Azure para el extremo B de la conexión con el endpoint v2/dropdowns/partner/megaports.
Puede crear varias conexiones a una interfaz de Azure; por ejemplo, si necesita conectar pares privados y de Microsoft a la misma interfaz.
VLAN de emparejamiento único de Azure
En este ejemplo se usa la VLAN de emparejamiento único de Azure. Se puede identificar porque se especifican tanto aEnd innerVlan como bEnd innerVlan. Para la VLAN de emparejamiento único de Azure, ambos se establecen con el mismo valor.
Si este valor se establece en 0, el sistema asignará y establecerá automáticamente una VLAN interna válida.
Consejo
Para probar su solicitud antes de ordenar y ver detalles de precio, use el endpoint /v3/networkdesign/validate con la misma configuración del Body.
Para crear un VXC
-
Cree una solicitud con el endpoint POST Create VXC to Azure (v3):
POST {baseUrl}/v3/networkdesign/buy -
Actualice el Body de la solicitud con el
productUiddel MVE, el nombre del VXC, elproductUiddel puerto de Azure y establezca elinnerVlande la clave de servicio en 501 yvNicIndexen 0 (interfaz 1).Nota
El número de vNIC corresponde a las siguientes interfaces de MVE:
- vNIC 0 = interfaz 1 en el MVE
- vNIC 1 = interfaz 2 en el MVE
- vNIC 2 = interfaz 3 en el MVE
- vNIC 3 = interfaz 4 en el MVE
- vNIC 4 = interfaz 5 en el MVE
[
{
"productUid": "{{ mveid }}",
"associatedVxcs": [
{
"productName": "Link to Azure ",
"partnerConfigs" : {
"connectType": "AZURE",
"serviceKey": "((azureServiceKey}}"
},
"rateLimit": 1000,
"term": 12,
"shutdown": false,
"promoCode": "promox3mnthfree2",
"aEnd": {
"vNicIndex":0,
"innerVlan": 501
},
"bEnd": {
"productUid": "{{ azurePortUid }}",
"innerVlan": 501
}
}
]
}
]
Después de enviar la solicitud, recibirá una respuesta exitosa cuando el VXC haya sido solicitado.
Aquí hay una respuesta de ejemplo:
{
"message": "VXC [7f7c22f6-5cde-45d7-8603-f3546c714118] created.",
"terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
"data": [
{
"createDate": 1709822378799,
"vxcOrderId": 139947,
"payerMegaPortId": 190079,
"nonPayerMegaPortId": 53013,
"payerMegaPortName": "MVE for VNIC config",
"nonPayerMegaPortName": "London Primary",
"payerCompanyId": 1153,
"nonPayerCompanyId": 1475,
"payerLocationId": 89,
"nonPayerLocationId": 90,
"salesId": null,
"payerCompanyName": "Megaport Lab",
"nonPayerCompanyName": "Azure ExpressRoute",
"payerMegaPortNsId": 510708,
"nonPayerMegaPortNsId": 119129,
"payerVlanId": 0,
"nonPayerVlanId": 0,
"payerInnerVlanId": 501,
"nonPayerInnerVlanId": 501,
"payerApproverName": "name",
"payerApproverId": 41315,
"nonPayerApproverName": "name",
"nonPayerApproverId": number,
"payerApproval": number,
"nonPayerApproval": number,
"fixedTerm": true,
"duration": 1,
"rollover": true,
"serviceName": "from MVE for VNIC config to London Primary",
"payerStatus": "APPROVED",
"nonPayerStatus": "APPROVED",
"speed": 1000,
"distanceBand": "METRO",
"intercapPath": "",
"awsId": null,
"promoCode": null,
"dealUid": null,
"rateType": "MONTHLY",
"vxcJTechnicalServiceId": 190104,
"vxcJTechnicalServiceUid": "7f7c22f6-5cde-45d7-8603-f3546c714118",
"provisionDate": 1709822378782,
"orderType": "NEW",
"monthlyDiscountAmount": null,
"discountMonths": null,
"amazonDirectConnectConfigDto": null,
"amsixConnectConfigDto": null,
"sdrcProvItem": null,
"rate": null,
"setup": null,
"asn": null,
"bgpPassword": null,
"usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
"costCentre": null,
"azureServiceKey": "{{ azureServiceKey }}",
"oracleVirtualCircuitId": null,
"serviceKey": null,
"vxc": {
"serviceName": "Link to Azure ",
"name": "Link to Azure ",
"secondaryName": null,
"technicalServiceId": 190104,
"technicalServiceUid": "7f7c22f6-5cde-45d7-8603-f3546c714118",
"requestedDate": 1709822378782,
"configuredDate": null,
"currentEstimatedDelivery": null,
"companyName": "Megaport Lab",
"companyId": 1153,
"billingContactName": null,
"billingContactId": null,
"adminContactName": null,
"adminContactId": null,
"technicalContactName": null,
"technicalContactId": null,
"salesName": null,
"salesId": null,
"billableId": 181652,
"billableUsageAlgorithm": null,
"productType": "VXC",
"provisioningStatus": "DEPLOYABLE",
"failedReason": null,
"inAdvanceBillingStatus": null,
"provisioningItems": [],
"tags": [],
"vxcDistanceBand": "METRO",
"intercapPath": "",
"marketplaceVisibility": true,
"vxcPermitted": true,
"vxcAutoApproval": false,
"createDate": 1709822378792,
"terminationDate": null,
"contractStartDate": null,
"contractTermMonths": 1,
"rateType": "MONTHLY",
"trialAgreement": false,
"payerCompanyId": null,
"nonPayerCompanyId": null,
"minimumSpeed": null,
"maximumSpeed": null,
"rateLimit": 1000,
"errorMessage": null,
"lagId": null,
"aggregationId": null,
"lagPrimary": null,
"market": "UK",
"accountManager": null,
"promptUid": null,
"components": [],
"attributes": [],
"aLocation": null,
"bLocation": null,
"aMetro": null,
"aCountry": null,
"aLocationId": null,
"bLocationId": null,
"bMetro": null,
"bCountry": null,
"attributeTags": {},
"createdBy": "b0dedbd2-ecc7-4bad-a13b-6c34b4005115",
"buyoutPort": null,
"virtual": false,
"locked": false,
"adminLocked": false,
"bgpShutdownDefault": false,
"originDomain": null
},
"connectType": "AZURE",
"payerConfig": {},
"nonPayerConfig": {},
"attributeTags": {},
"serviceLicense": null,
"originDomain": null,
"fullyApproved": true
}
]
}
Múltiples emparejamientos de Microsoft (Q-in-Q)
Si no desea usar la VLAN de emparejamiento único de Azure y prefiere usar Q-in-Q para tener múltiples emparejamientos de Microsoft en un solo VXC, solo especifique el valor aEnd innerVlan.
Con Q-in-Q, el ID de VLAN de emparejamiento configurado en Azure no aparece en las APIs de Megaport ni en Portal. El cliente lo configura en los emparejamientos de Azure ExpressRoute y se corresponde en la configuración de la instancia MVE.
En el ejemplo siguiente, el campo aEnd innerVlan de 100 es en realidad una VLAN externa u s-tag en el MVE. La VLAN interna Q-in-Q (c-tag) que corre dentro de la innerVlan es transparente para Megaport.
Nota
Nota: Los VXC de Azure son el único tipo de VXC en la nube que permiten especificar un VXC doblemente etiquetado.
Aquí hay una solicitud de ejemplo:
[
{
"productUid": "02ec2091-46bb-4904-bd17-96c752ff826e",
"associatedVxcs": [
{
"productName": "My New Azure VXC",
"partnerConfigs" : {
"connectType": "AZURE",
"serviceKey": "{{ service_key }}"
},
"rateLimit": 1000,
"term": 12,
"shutdown": false,
"aEnd": {
"innerVlan": 100
},
"bEnd": {
"productUid": "{{ azurepuid }}"
}
}
]
}
]