action.skip

Créer un VXC entre un MVE et AWS avec l’API

Ce sujet décrit la procédure API pour créer un VXC à partir d’un MVE vers AWS, y compris comment rechercher les emplacements AWS et commander des VXCs sur des vNICs spécifiques.

Vous pouvez configurer deux types de connexions AWS vers un MVE: un AWS Hosted VIF et une AWS Hosted Connection.

Vous pouvez distinguer le type de connexion pris en charge par les emplacements partenaires en utilisant l’attribut connectType. Les connexions Hosted VIF sont connectType=AWS et les Connexions Hébergées sont connectType=AWSHC.

Le déploiement MVE vers AWS inclut ces tâches:

  1. Rechercher les détails de l’emplacement AWS

    Pour créer un VXC vers AWS, vous devez d’abord identifier le productUid du port auquel vous souhaitez vous connecter.

    Vous pouvez rechercher des emplacements AWS pour l’extrémité B de la connexion avec l’endpoint v2/dropdowns/partner/megaports.

  2. Créer et déployer un VXC

    Une fois les détails du port identifiés, vous pouvez créer le VXC vers AWS depuis le MVE.

    Les détails de configuration sont spécifiés dans le corps de la requête. Certaines des informations clés que vous devez spécifier incluent le productUid du MVE, le productUid du port AWS et l’ID de compte AWS.

Avant de commencer, obtenez un jeton d’accès valide. Pour plus d’informations, voir Création d’une clé API.

Rechercher les détails de l’emplacement AWS

Utilisez l’API pour rechercher le productUid du port auquel vous souhaitez vous connecter. La réponse inclut les détails des ports disponibles. Vous avez besoin des détails du port pour créer le VXC.

Dans la réponse de l’API, les ports disponibles qui acceptent les VXCs sont listés comme “vxcPermitted”: true.

Pour rechercher les détails de l’emplacement AWS

  1. Développez le dossier Emplacements dans la navigation de gauche et cliquez sur GET Partner Megaports.

  2. Cliquez sur Envoyer pour effectuer une requête GET vers le serveur API.

    GET {baseUrl}/v2/dropdowns/partner/megaports
    

    Cette requête renvoie toutes les interfaces que Megaport a avec les fournisseurs de services cloud. Vous pouvez rechercher en cliquant sur la loupe et en entrant un emplacement, un centre de données ou un autre paramètre dans le champ de recherche.

    Le connectType indique le fournisseur de services cloud. AWS inclut “AWS” pour les Hosted VIFs et “AWSHC” pour les Connexions Hébergées.

    Vous pouvez filtrer les résultats par connectType et vxcPermitted.

    GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWS&vxcPermitted=true
    

    Cet exemple utilise un port dans la région eu-west-2 (Londres) qui accepte les VXCs (“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"
      },

Créer et déployer un VXC Hosted VIF

Avec les détails du port, créez le VXC vers AWS depuis le MVE.

Vous spécifiez les détails de configuration dans le corps (Body) de la requête. Le premier productUid identifie l’ID du MVE et le bEnd: productUid identifie l’emplacement du port AWS issu de la recherche Partner Megaports. Vous devez également fournir votre numéro de compte AWS dans la requête.

Cet exemple utilise le type de connexion Hosted VIF, connectType=AWS.

Conseil

Pour tester votre requête avant de passer la commande et voir les détails de tarification, utilisez le point de terminaison /v3/networkdesign/validate avec la même configuration du corps (Body).

Pour créer un VXC

  1. Créez une requête avec le point de terminaison POST Buy AWS - Hosted VIF (v3):

    POST {baseUrl}/v3/networkdesign/buy
    
  2. Mettez à jour le corps (Body) de la requête avec le productUid du MVE, le nom du VXC, le productUid du port AWS, et l’ID du compte AWS (ownerAccount).
    Vous pouvez également modifier des valeurs supplémentaires, telles que la limite de débit, la durée du contrat, l’ID VLAN, les valeurs ASN, authKey et l’adressage IP. Le vNIC est déterminé par vNicIndex, innerVlan identifie le numéro VLAN utilisé dans le vNIC, dans ce cas 103.

    Remarque

    Le numéro vNIC concerne les interfaces MVE suivantes:

    • vNIC 0 = interface 1 sur le MVE
    • vNIC 1 = interface 2 sur le MVE
    • vNIC 2 = interface 3 sur le MVE
    • vNIC 3 = interface 4 sur le MVE
    • vNIC 4 = interface 5 sur le MVE

    Voici un exemple de requête:

[
 {
   "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
         }
       }
     }
   ]
 }
]

Après l’envoi de la requête, vous recevrez une réponse réussie lorsque le VXC aura été commandé.

Voici un exemple de réponse:

{
    "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
       }
   ]
}

Le VXC apparaîtra maintenant dans le Megaport Portal.

Pour cet exemple, le AWS Hosted VIF apparaîtra dans le compte du portail AWS sous Direct Connect - Virtual Interfaces. Le titulaire du compte peut accepter l’interface virtuelle et la connecter à un Virtual Private Gateway ou un Direct Connect Gateway, puis à ses VPCs.

Créer et déployer un VXC Hosted Connection

Avec les détails du port, créez le VXC vers AWS depuis le MVE.

Vous spécifiez les détails de configuration dans le corps (Body) de la requête. Le premier productUid identifie l’ID du MVE et le bEnd: productUid identifie l’emplacement du port AWS issu de la recherche Partner Megaports. Vous devez également fournir votre numéro de compte AWS dans la requête.

Cet exemple utilise le type de connexion Hosted Connection, connectType=AWSHC.

Conseil

Pour tester votre requête avant de passer la commande et voir les détails de tarification, utilisez le point de terminaison /v3/networkdesign/validate avec la même configuration du corps (Body).

Pour créer un VXC

  1. Créez une requête avec le point de terminaison POST Buy AWS - Hosted Connection (v3):

    POST {baseUrl}/v3/networkdesign/buy
    
  2. Mettez à jour le corps (Body) de la requête avec le productUid du MVE, le nom du VXC, le productUid du port AWS, et l’ID du compte AWS (ownerAccount).
    Vous pouvez également modifier des valeurs supplémentaires, telles que la limite de débit, la durée du contrat, l’ID VLAN, les valeurs ASN, authKey et l’adressage IP. Le vNIC est déterminé par vNicIndex, innerVlan identifie le numéro VLAN utilisé dans le vNIC, dans ce cas 666.

    Remarque

    Le numéro vNIC concerne les interfaces MVE suivantes:

    • vNIC 0 = interface 1 sur le MVE
    • vNIC 1 = interface 2 sur le MVE
    • vNIC 2 = interface 3 sur le MVE
    • vNIC 3 = interface 4 sur le MVE
    • vNIC 4 = interface 5 sur le MVE

    Voici un exemple de requête:

[
 {
   "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"
           }
          }
        }
     ]
   }
]

Après l’envoi de la requête, vous recevrez une réponse réussie lorsque le VXC aura été commandé.

Voici un exemple de réponse:

{
    "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
       }
   ]
}

Le VXC apparaîtra maintenant dans le Megaport Portal.

Pour cet exemple, la connexion AWS Hosted apparaîtra dans le compte du portail AWS sous Direct Connect - connection. Dans cet exemple, la connexion hébergée AWS apparaîtra dans le compte du portail AWS sous Direct Connect - connexion. Le titulaire du compte peut accepter la connexion hébergée et créer un VIF privé, public ou de transit, et le connecter à une passerelle privée virtuelle ou à une passerelle Direct Connect ou une passerelle de transit, puis à leurs VPC.