Creación de un VXC entre un MVE y AWS con la API
Este tema describe el procedimiento de la API para crear un VXC desde un MVE hacia AWS, incluido cómo consultar ubicaciones de AWS y solicitar VXC en vNIC específicas.
Puede configurar dos tipos de conexiones de AWS hacia un MVE: un AWS Hosted VIF y un AWS Hosted Connection.
Puede distinguir el tipo de conexión que admiten las ubicaciones de socios usando el atributo connectType. Las conexiones Hosted VIF son connectType=AWS y las Hosted Connection son connectType=AWSHC.
El despliegue de MVE hacia AWS incluye estas tareas:
-
Consultar los detalles de ubicación de AWS
Para crear un VXC hacia AWS, primero necesita identificar el
productUiddel puerto al que desea conectarse.Puede consultar las ubicaciones de AWS para el extremo B de la conexión con el endpoint
v2/dropdowns/partner/megaports. -
Crear y desplegar un VXC
Con los detalles del puerto identificados, puede crear el VXC hacia AWS desde el MVE.
Los detalles de configuración se especifican en el cuerpo de la solicitud. Parte de la información clave que debe indicar incluye el
productUiddel MVE, elproductUiddel puerto de AWS y el ID de la cuenta de AWS.
Antes de comenzar, obtenga un token de acceso válido. Para obtener más información, consulte Creación de una clave de API.
Consultar los detalles de ubicación de AWS
Use la API para consultar el productUid del puerto al que desea conectarse. La respuesta incluye detalles de los puertos disponibles. Necesita los detalles del puerto para crear el VXC.
En la respuesta de la API, los puertos disponibles que aceptan VXC se muestran como “vxcPermitted”: true.
Para consultar los detalles de ubicación de AWS
-
Expanda la carpeta Locations (Ubicaciones) en la navegación izquierda y haga clic en GET Partner Megaports (GET Partner Megaports).
-
Haga clic en Send (Enviar) (Enviar) para realizar una solicitud GET al servidor de la API.
GET {baseUrl}/v2/dropdowns/partner/megaportsEsta solicitud devuelve todas las interfaces que Megaport tiene con Proveedores de servicios en la nube. Puede buscar haciendo clic en la lupa e introduciendo una ubicación, un centro de datos u otro parámetro en el campo de búsqueda.
El campo connectType indica el proveedor de servicios en la nube. AWS incluye “AWS” para Hosted VIF y “AWSHC” para Hosted Connection.
Puede filtrar los resultados por
connectTypeyvxcPermitted.GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWS&vxcPermitted=trueEste ejemplo utiliza un puerto en la región eu-west-2 (Londres) que acepta VXC (
“vxcPermitted”: true).
{
"productUid": "b9dcbdca-b73a-4fc9-9ac9-98cecde81ba2",
"companyUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
"companyName": "AWS",
"title": "EU (London) (eu-west-2)",
"locationId": 90,
"speed": 10000,
"maxVxcSpeed": 10000,
"vxcPermitted": true,
"diversityZone": null,
"rank": 378,
"lag_id": null,
"lag_primary": false,
"aggregation_id": null,
"connectType": "AWS"
},
Crear y desplegar un VXC Hosted VIF
Con los detalles del puerto, cree el VXC hacia AWS desde el MVE.
Especifique los detalles de configuración en el cuerpo de la solicitud. El primer productUid identifica el ID del MVE y el bEnd: productUid identifica la ubicación del puerto de AWS obtenida de la consulta Partner Megaports. También debe proporcionar su número de cuenta de AWS en la solicitud.
Este ejemplo usa el tipo de conexión Hosted VIF, connectType=AWS.
Consejo
Para probar su solicitud antes de ordenar y ver detalles de precios, utilice el endpoint /v3/networkdesign/validate con la misma configuración en el cuerpo.
Para crear un VXC
-
Cree una solicitud con el endpoint POST Buy AWS - Hosted VIF (v3):
POST {baseUrl}/v3/networkdesign/buy -
Actualice el cuerpo de la solicitud con el
productUiddel MVE, el nombre del VXC, elproductUiddel puerto de AWS y el ID de la cuenta de AWS (ownerAccount).
También puede modificar valores adicionales, como el límite de velocidad, el plazo del contrato, el ID de VLAN, valores ASN, authKey y direccionamiento IP. El vNIC se determina mediantevNicIndex;innerVlanidentifica el número de VLAN ejecutado dentro del vNIC, en este caso 103.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
Aquí hay una solicitud de ejemplo:
[
{
"productUid": "{{ mveid }}",
"associatedVxcs": [
{
"productName": "Test AWS VIF MVE VXC",
"rateLimit": "100",
"term": 12,
"shutdown": false,
"promoCode": "promox3mnthfree2",
"aEnd": {
"vNicIndex":2,
"vlan": null,
"innerVlan": 103
},
"bEnd": {
"productUid": "{{ awsPortUid }}",
"partnerConfig": {
"connectType": "AWS",
"Name": "Test Megaport",
"type": "private",
"asn": 65105,
"ownerAccount": "XXXXXXXXXXXX",
"authKey": "123455",
"customerIpAddress": null,
"amazonIpAddress": null
}
}
}
]
}
]
Después de enviar la solicitud, recibirá una respuesta exitosa cuando el VXC haya sido solicitado.
Aquí hay una respuesta de ejemplo:
{
"message": "VXC [0d22feee-8d06-4041-98be-5b827c33c78a] created.",
"terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
"data": [
{
"createDate": 1709811450016,
"vxcOrderId": 139933,
"payerMegaPortId": 190079,
"nonPayerMegaPortId": 6199,
"payerMegaPortName": "MVE for VNIC config",
"nonPayerMegaPortName": "EU (London) (eu-west-2)",
"payerCompanyId": 1153,
"nonPayerCompanyId": 117,
"payerLocationId": 89,
"nonPayerLocationId": 89,
"salesId": null,
"payerCompanyName": "Megaport Lab",
"nonPayerCompanyName": "AWS",
"payerMegaPortNsId": 510708,
"nonPayerMegaPortNsId": 13055,
"payerVlanId": 0,
"nonPayerVlanId": 0,
"payerInnerVlanId": 103,
"nonPayerInnerVlanId": null,
"payerApproverName": "name",
"payerApproverId": number,
"nonPayerApproverName": "name",
"nonPayerApproverId": number,
"payerApproval": number,
"nonPayerApproval":number,
"fixedTerm": true,
"duration": 1,
"rollover": true,
"serviceName": "from MVE for VNIC config to EU (London) (eu-west-2)",
"payerStatus": "APPROVED",
"nonPayerStatus": "APPROVED",
"speed": 100,
"distanceBand": "METRO",
"intercapPath": "",
"awsId": null,
"promoCode": null,
"dealUid": null,
"rateType": "MONTHLY",
"vxcJTechnicalServiceId": 190085,
"vxcJTechnicalServiceUid": "0d22feee-8d06-4041-98be-5b827c33c78a",
"provisionDate": 1709811449985,
"orderType": "NEW",
"monthlyDiscountAmount": null,
"discountMonths": null,
"amazonDirectConnectConfigDto": {
"type": "private",
"asn": 65105,
"ownerAccount": "aws account ID",
"authKey": "123455",
"customerIpAddress": null,
"amazonIpAddress": null,
"prefixes": null,
"name": null
},
"amsixConnectConfigDto": null,
"sdrcProvItem": null,
"rate": null,
"setup": null,
"asn": null,
"bgpPassword": null,
"usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
"costCentre": null,
"azureServiceKey": null,
"oracleVirtualCircuitId": null,
"serviceKey": null,
"vxc": {
"serviceName": "Test AWS VIF MVE VXC",
"name": "Test AWS VIF MVE VXC",
"secondaryName": null,
"technicalServiceId": 190085,
"technicalServiceUid": "0d22feee-8d06-4041-98be-5b827c33c78a",
"requestedDate": 1709811449985,
"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": 181633,
"billableUsageAlgorithm": null,
"productType": "VXC",
"provisioningStatus": "DEPLOYABLE",
"failedReason": null,
"inAdvanceBillingStatus": null,
"provisioningItems": [],
"tags": [],
"vxcDistanceBand": "METRO",
"intercapPath": "",
"marketplaceVisibility": true,
"vxcPermitted": true,
"vxcAutoApproval": false,
"createDate": 1709811450003,
"terminationDate": null,
"contractStartDate": null,
"contractTermMonths": 1,
"rateType": "MONTHLY",
"trialAgreement": false,
"payerCompanyId": null,
"nonPayerCompanyId": null,
"minimumSpeed": null,
"maximumSpeed": null,
"rateLimit": 100,
"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": "AWS",
"payerConfig": {},
"nonPayerConfig": {},
"attributeTags": {},
"serviceLicense": null,
"originDomain": null,
"fullyApproved": true
}
]
}
El VXC ahora aparecerá en el Megaport Portal.
Para este ejemplo, la Hosted VIF de AWS aparecerá en la cuenta del portal de AWS en Direct Connect - Virtual Interfaces. El titular de la cuenta puede aceptar la Virtual Interface y conectarla a un Virtual Private Gateway o a un Direct Connect Gateway y luego a sus VPCs.
Crear y desplegar un VXC Hosted Connection
Con los detalles del puerto, cree el VXC hacia AWS desde el MVE.
Especifique los detalles de configuración en el cuerpo de la solicitud. El primer productUid identifica el ID del MVE y el bEnd: productUid identifica la ubicación del puerto de AWS obtenida de la consulta Partner Megaports. También debe proporcionar su número de cuenta de AWS en la solicitud.
Este ejemplo usa el tipo de conexión Hosted Connection, connectType=AWSHC.
Consejo
Para probar su solicitud antes de ordenar y ver detalles de precios, utilice el endpoint /v3/networkdesign/validate con la misma configuración en el cuerpo.
Para crear un VXC
-
Cree una solicitud con el endpoint POST Buy AWS - Hosted Connection (v3):
POST {baseUrl}/v3/networkdesign/buy -
Actualice el cuerpo de la solicitud con el
productUiddel MVE, el nombre del VXC, elproductUiddel puerto de AWS y el ID de la cuenta de AWS (ownerAccount).
También puede modificar valores adicionales, como el límite de velocidad, el plazo del contrato, el ID de VLAN, valores ASN, authKey y direccionamiento IP. El vNIC se determina mediantevNicIndex;innerVlanidentifica el número de VLAN ejecutado dentro del vNIC, en este caso 666.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
Aquí hay una solicitud de ejemplo:
[
{
"productUid": "{{ mveid }}",
"associatedVxcs": [
{
"productName": "Test AWS over Vnic2",
"rateLimit": 100,
"term": 12,
"shutdown": false,
"promoCode": "promox3mnthfree2",
"aEnd": {
"vNicIndex":2,
"vlan":null,
"innerVlan":666
},
"bEnd": {
"productUid": "{{ awshcPortUid }}",
"partnerConfig": {
"connectType":"AWSHC",
"ownerAccount": "XXXXXXXXXXXX",
"name": "AWS link MVE link 2"
}
}
}
]
}
]
Después de enviar la solicitud, recibirá una respuesta exitosa cuando el VXC haya sido solicitado.
Aquí hay una respuesta de ejemplo:
{
"message": "VXC [5668c467-17eb-47e3-beba-87b9e7784a17] created.",
"terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
"data": [
{
"createDate": 1709812459883,
"vxcOrderId": 139936,
"payerMegaPortId": 190079,
"nonPayerMegaPortId": 114147,
"payerMegaPortName": "MVE for VNIC config",
"nonPayerMegaPortName": "EU (London) (eu-west-2)",
"payerCompanyId": 1153,
"nonPayerCompanyId": 117,
"payerLocationId": 89,
"nonPayerLocationId": 90,
"salesId": null,
"payerCompanyName": "Megaport Lab",
"nonPayerCompanyName": "AWS",
"payerMegaPortNsId": 510708,
"nonPayerMegaPortNsId": 271398,
"payerVlanId": 0,
"nonPayerVlanId": 0,
"payerInnerVlanId": 666,
"nonPayerInnerVlanId": null,
"payerApproverName": "David Sloan",
"payerApproverId": 41315,
"nonPayerApproverName": "David Sloan",
"nonPayerApproverId": 41315,
"payerApproval": number,
"nonPayerApproval": number,
"fixedTerm": true,
"duration": 1,
"rollover": true,
"serviceName": "from MVE for VNIC config to EU (London) (eu-west-2)",
"payerStatus": "APPROVED",
"nonPayerStatus": "APPROVED",
"speed": 100,
"distanceBand": "METRO",
"intercapPath": "",
"awsId": null,
"promoCode": null,
"dealUid": null,
"rateType": "MONTHLY",
"vxcJTechnicalServiceId": 190089,
"vxcJTechnicalServiceUid": "5668c467-17eb-47e3-beba-87b9e7784a17",
"provisionDate": 1709812459853,
"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": null,
"oracleVirtualCircuitId": null,
"serviceKey": null,
"vxc": {
"serviceName": "Test AWS over Vnic2",
"name": "Test AWS over Vnic2",
"secondaryName": null,
"technicalServiceId": 190089,
"technicalServiceUid": "5668c467-17eb-47e3-beba-87b9e7784a17",
"requestedDate": 1709812459853,
"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": 181637,
"billableUsageAlgorithm": null,
"productType": "VXC",
"provisioningStatus": "DEPLOYABLE",
"failedReason": null,
"inAdvanceBillingStatus": null,
"provisioningItems": [],
"tags": [],
"vxcDistanceBand": "METRO",
"intercapPath": "",
"marketplaceVisibility": true,
"vxcPermitted": true,
"vxcAutoApproval": false,
"createDate": 1709812459869,
"terminationDate": null,
"contractStartDate": null,
"contractTermMonths": 1,
"rateType": "MONTHLY",
"trialAgreement": false,
"payerCompanyId": null,
"nonPayerCompanyId": null,
"minimumSpeed": null,
"maximumSpeed": null,
"rateLimit": 100,
"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": "AWSHC",
"payerConfig": {},
"nonPayerConfig": {},
"attributeTags": {},
"serviceLicense": null,
"originDomain": null,
"fullyApproved": true
}
]
}
El VXC ahora aparecerá en el Megaport Portal.
Para este ejemplo, la AWS Hosted Connection aparecerá en la cuenta del portal de AWS en Direct Connect - conexión. El titular de la cuenta puede aceptar la Hosted Connection y crear una VIF privada, una pública o una VIF de tránsito, y conectarla a un Virtual Private Gateway o a un Direct Connect Gateway o a un Transit Gateway, y luego a sus VPC.