Creazione di un VXC tra un MVE e AWS con l’API
Questo argomento descrive la procedura API per creare un VXC da un MVE a AWS, incluso come cercare le posizioni AWS e ordinare VXC su specifici vNICs.
È possibile configurare due tipi di connessioni AWS a un MVE: un AWS Hosted VIF e una connessione ospitata da AWS.
È possibile distinguere il tipo di connessione supportato dalle posizioni partner utilizzando l’attributo connectType. Le connessioni ospitate VIF sono connectType=AWS e le connessioni ospitate sono connectType=AWSHC.
Le operazioni per il dispiegamento di MVE a AWS includono:
-
Cerca i dettagli della posizione AWS
Per creare un VXC ad AWS, è necessario prima identificare il
productUid
della porta a cui si desidera connettersi.È possibile cercare le posizioni AWS per la fine B della connessione con l’endpoint
v2/dropdowns/partner/megaports
. -
Crea e distribuisci un VXC
Una volta identificati i dettagli della porta, è possibile creare il VXC ad AWS dal MVE.
I dettagli della configurazione sono specificati nel corpo della richiesta. Alcune delle informazioni chiave da specificare includono il
productUid
del MVE, ilproductUid
della porta AWS e l’ID dell’account AWS.
Prima di iniziare, ottenere un token di accesso valido. Per maggiori informazioni, vedere Creazione di una chiave API.
Cerca i dettagli della posizione AWS
Utilizza l’API per cercare il productUid
della porta a cui desideri connetterti. La risposta include i dettagli delle porte disponibili. È necessario avere i dettagli della porta per creare il VXC.
Nella risposta dell’API, le porte disponibili che accettano VXC sono elencate come “vxcPermitted”: true
.
Per cercare i dettagli della posizione AWS
-
Espandi la cartella Posizioni nella navigazione a sinistra e clicca su GET Partner Megaports.
-
Clicca su Invia per effettuare una richiesta GET al server API.
GET {baseUrl}/v2/dropdowns/partner/megaports
Questa richiesta restituisce tutte le interfacce che Megaport ha con i fornitori di servizi cloud. È possibile cercare cliccando sulla lente d’ingrandimento e inserendo una posizione, un data center o un altro parametro nel campo di ricerca.
Il connectType indica il fornitore di servizi cloud. AWS include “AWS” per Hosted VIFs e “AWSHC” per le connessioni ospitate.
È possibile filtrare i risultati per
connectType
evxcPermitted
.GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWS&vxcPermitted=true
Questo esempio utilizza una porta nella regione eu-west-2 (Londra) che accetta VXC (
“vxcPermitted”: true
).
{
"productUid": "b9dcbdca-b73a-4fc9-9ac9-98cecde81ba2",
"companyUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
"companyName": "AWS",
"title": "EU (Londra) (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"
},
Crea e distribuisci un VXC Hosted VIF
Con i dettagli della porta, crea il VXC verso AWS dal MVE.
Specifica i dettagli di configurazione nel Body della richiesta. Il primo productUid
identifica l’ID del MVE e il bEnd: productUid
identifica la posizione della porta AWS dal Partner Megaports lookup. Devi anche fornire il numero del tuo account AWS nella richiesta.
Questo esempio usa il tipo di connessione Hosted VIF, connectType=AWS.
Suggerimento
Per testare la tua richiesta prima di ordinare e vedere i dettagli dei prezzi, usa l’endpoint /v3/networkdesign/validate
con la stessa configurazione del Body.
Per creare un VXC
-
Crea una richiesta con l’endpoint POST Buy AWS - Hosted VIF (v3):
POST {baseUrl}/v3/networkdesign/buy
-
Aggiorna il Body della richiesta con il
productUid
del MVE, il nome del VXC, ilproductUid
della porta AWS e l’ID account AWS (ownerAccount
).
Puoi anche modificare altri valori, come il limite di velocità, la durata del contratto, l’ID VLAN, i valori ASN, authKey e l’indirizzamento IP. La vNIC è determinata davNicIndex
, innerVlan identifica il numero VLAN eseguito all’interno della vNIC, in questo caso 103.Nota
Il numero vNIC si riferisce alle seguenti interfacce MVE:
- vNIC 0 = interfaccia 1 sul MVE
- vNIC 1 = interfaccia 2 sul MVE
- vNIC 2 = interfaccia 3 sul MVE
- vNIC 3 = interfaccia 4 sul MVE
- vNIC 4 = interfaccia 5 sul MVE
Ecco un esempio di richiesta:
[
{
"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
}
}
}
]
}
]
Dopo aver inviato la richiesta, riceverai una risposta di successo quando il VXC sarà stato ordinato.
Ecco un esempio di risposta:
{
"message": "VXC [0d22feee-8d06-4041-98be-5b827c33c78a] creato.",
"terms": "Questi dati sono soggetti alla Politica di utilizzo accettabile https://www.megaport.com/legal/acceptable-use-policy",
"data": [
{
"createDate": 1709811450016,
"vxcOrderId": 139933,
"payerMegaPortId": 190079,
"nonPayerMegaPortId": 6199,
"payerMegaPortName": "MVE per configurazione VNIC",
"nonPayerMegaPortName": "EU (Londra) (eu-west-2)",
"payerCompanyId": 1153,
"nonPayerCompanyId": 117,
"payerLocationId": 89,
"nonPayerLocationId": 89,
"salesId": null,
"payerCompanyName": "Laboratorio Megaport",
"nonPayerCompanyName": "AWS",
"payerMegaPortNsId": 510708,
"nonPayerMegaPortNsId": 13055,
"payerVlanId": 0,
"nonPayerVlanId": 0,
"payerInnerVlanId": 103,
"nonPayerInnerVlanId": null,
"payerApproverName": "nome",
"payerApproverId": numero,
"nonPayerApproverName": "nome",
"nonPayerApproverId": numero,
"payerApproval": numero,
"nonPayerApproval": numero,
"fixedTerm": true,
"duration": 1,
"rollover": true,
"serviceName": "da MVE per configurazione VNIC a EU (Londra) (eu-west-2)",
"payerStatus": "APPROVATO",
"nonPayerStatus": "APPROVATO",
"speed": 100,
"distanceBand": "METRO",
"intercapPath": "",
"awsId": null,
"promoCode": null,
"dealUid": null,
"rateType": "MENSILE",
"vxcJTechnicalServiceId": 190085,
"vxcJTechnicalServiceUid": "0d22feee-8d06-4041-98be-5b827c33c78a",
"provisionDate": 1709811449985,
"orderType": "NUOVO",
"monthlyDiscountAmount": null,
"discountMonths": null,
"amazonDirectConnectConfigDto": {
"type": "private",
"asn": 65105,
"ownerAccount": "ID dell'account AWS",
"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": "Laboratorio Megaport",
"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": "DISPONIBILE",
"failedReason": null,
"inAdvanceBillingStatus": null,
"provisioningItems": [],
"tags": [],
"vxcDistanceBand": "METRO",
"intercapPath": "",
"marketplaceVisibility": true,
"vxcPermitted": true,
"vxcAutoApproval": false,
"createDate": 1709811450003,
"terminationDate": null,
"contractStartDate": null,
"contractTermMonths": 1,
"rateType": "MENSILE",
"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
}
]
}
Il VXC apparirà ora nel Megaport Portal.
Per questo esempio, l’AWS Hosted VIF apparirà nell’account del portale AWS sotto Direct Connect - Virtual Interfaces. Il titolare dell’account può accettare la Virtual Interface e collegarla a un Virtual Private Gateway o a un Direct Connect Gateway e poi alle proprie VPC.
Crea e distribuisci un VXC Connessione Ospitata
Con i dettagli della porta, crea il VXC per AWS dal MVE.
Specifica i dettagli di configurazione nel Body della richiesta. Il primo productUid
identifica l’ID del MVE e il bEnd: productUid
identifica la posizione della porta AWS dalla ricerca Partner Megaports. Devi anche fornire il numero del tuo account AWS nella richiesta.
Questo esempio utilizza il tipo di connessione Connessione Ospitata, connectType=AWSHC.
Suggerimento
Per testare la tua richiesta prima di ordinare e vedere i dettagli dei prezzi, usa l’endpoint /v3/networkdesign/validate
con la stessa configurazione del Body.
Per creare un VXC
-
Crea una richiesta con l’endpoint POST Buy AWS - Connessione Ospitata (v3):
POST {baseUrl}/v3/networkdesign/buy
-
Aggiorna il Body della richiesta con il
productUid
del MVE, il nome del VXC, ilproductUid
della porta AWS e l’ID account AWS (ownerAccount
).
Puoi anche modificare valori aggiuntivi, come rate limit, durata del contratto, VLAN ID, valori ASN, authKey e indirizzamento IP. La vNIC è determinata davNicIndex
, innerVlan identifica il numero VLAN eseguito all’interno della vNIC, in questo caso 666.Nota
Il numero vNIC si riferisce alle seguenti interfacce MVE:
- vNIC 0 = interfaccia 1 sul MVE
- vNIC 1 = interfaccia 2 sul MVE
- vNIC 2 = interfaccia 3 sul MVE
- vNIC 3 = interfaccia 4 sul MVE
- vNIC 4 = interfaccia 5 sul MVE
Ecco un esempio di richiesta:
[
{
"productUid": "{{ mveid }}",
"associatedVxcs": [
{
"productName": "Test AWS su 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"
}
}
}
]
}
]
Dopo aver inviato la richiesta, riceverai una risposta di successo quando il VXC sarà stato ordinato.
Ecco un esempio di risposta:
{
"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
}
]
}
The VXC apparirà ora nel Megaport Portal.
In questo esempio, la Connessione Ospitata AWS apparirà nell’account del portale AWS sotto Direct Connect - connection. Il titolare dell’account può accettare la Connessione Ospitata e creare un VIF privato, pubblico o di transito, e collegarlo a un Virtual Private Gateway, un Direct Connect Gateway o un Transit Gateway, e poi alle proprie VPC.