Creazione di un MCR VXC con l’API
Questo argomento descrive la procedura API per creare un MCR VXC. Il primo esempio crea una Connessione Ospitata AWS nel mercato statunitense - una delle configurazioni più complesse. I modelli per altri CSP compaiono successivamente nell’argomento.
Per maggiori informazioni, vedere POST Validate MCR VXC Order (v3) nel riferimento API.
Creazione di un VXC tra un MCR e AWS con una Connessione Ospitata
Questo esempio crea una Connessione Ospitata AWS nel mercato statunitense. Le fasi includono come:
- ottenere l’ID del prodotto MCR
- trovare l’ID della località per un mercato statunitense disponibile
- validare e ordinare il VXC
- configurare due percorsi statici
- configurare le connessioni BGPIl Border Gateway Protocol (BGP) è un protocollo di instradamento standardizzato progettato per scambiare informazioni di rotta e raggiungibilità tra sistemi autonomi (AS) su internet.
– una connessione con i dettagli MEDIl Multi-Exit Discriminator (MED) è un attributo del percorso BGP che può influenzare un vicino BGP a prendere un percorso preferito quando il sistema autonomo pubblicizzato (AS) è lo stesso per i percorsi candidati e ci sono più punti di ingresso per quel AS. Un valore metrico MED più basso è preferito rispetto a un valore più alto.
e una senza.
Prima di iniziare, ottenere un token di accesso valido. Per maggiori informazioni, vedere Creazione di una chiave API.
Per creare il VXC, abbiamo bisogno del productUid
per il MCR.
Per ottenere il productUid per il MCR
-
Ottenere l’elenco dei prodotti.
GET {baseUrl}/v2/products/
-
Dai dettagli del prodotto restituiti, localizzare il valore
productUid
per il MCR che si desidera connettere.Questo esempio utilizza questo valore: fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0
Successivamente, trovare l’ID della località per il mercato statunitense desiderato con supporto per Connessioni Ospitate AWS.
Per trovare il locationId nel mercato statunitense dove sono disponibili le Connessioni Ospitate AWS
-
Ottenere l’elenco per tutte le interfacce che Megaport ha con i Fornitori di Servizi Cloud.
GET {baseUrl}/v2/dropdowns/partner/megaports
È possibile filtrare i risultati per
connectType
evxcPermitted
.GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWSHC&vxcPermitted=true
-
Cliccare sulla lente d’ingrandimento e cercare nella risposta un sito compatibile con i criteri di localizzazione.
Per questo esempio, selezionare “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] significa Zona di diversità rossa. Ogni sito di AWS Connessione Ospitata fornisce due zone di diversità per garantire la ridondanza: DZ-Rosso e DZ-Blu.
Con l’ID MCR e l’ID della posizione AWS, puoi creare un VXC.
Per creare il VXC
-
Crea una richiesta con questo URL:
POST {baseUrl}/v3/networkdesign/buy
Suggerimento
Per testare la tua richiesta prima di ordinare, puoi usare: POST {baseUrl}/v3/networkdesign/validate
-
Aggiungi queste intestazioni alla richiesta:
- Content-Type: application/json
- Authorization: Bearer {your accessToken}
-
Crea il Body della richiesta con i dettagli di configurazione.
Questo esempio usa l’ID prodotto MCR, l’ID della posizione AWS per il B-End, crea due route statiche e configura connessioni BGP – una connessione con dettagli MED e una senza. Le sezioni seguenti forniscono dettagli sulle route statiche e sulle connessioni 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 con MED e BFD abilitati",
"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 senza MED o BFD",
"medIn": null,
"medOut": null,
"bfdEnabled": false
}
],
"ipRoutes": [
{
"prefix": "10.0.0.0/24",
"nextHop": "10.191.0.26",
"description": "test percorso statico 1"
},
{
"prefix": "10.0.1.9/24",
"nextHop": "10.191.0.27",
"description": "test percorso statico 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"
}
]
}
]
Route statiche
Puoi creare più route statiche per interfaccia aggiungendo un array ipRoutes
all’array delle interfacce dell’oggetto di configurazione del partner A-End:
"ipRoutes": [
{
"prefix": "10.0.0.0/24",
"nextHop": "10.191.0.26",
"description": "test percorso statico 1"
},
{
"prefix": "10.0.1.9/24",
"nextHop": "10.191.0.27",
"description": "test percorso statico 2"
}
],
ipRoutes
vuoto indica che non ci sono route statiche.
Attributo | Descrizione | Obbligatorio | Valore Valido |
---|---|---|---|
prefix | Prefisso IP (V4 & V6) da instradare al nextHop | Sì | Prefisso IP v4/v6 - Se non viene indicata la maschera, l’indirizzo è trattato come indirizzo host (/32) |
nextHop | Indirizzo del Next Hop | Sì | Indirizzo IP v4/v6 - Deve essere nella stessa subnet dell’interfaccia ma non l’indirizzo IP dell’interfaccia |
description | Descrizione opzionale della route statica | No | Stringa - Lunghezza massima 100 caratteri |
Connessioni BGP
Puoi creare più connessioni BGP per interfaccia aggiungendo un array bgpConnections
all’array delle interfacce dell’oggetto di configurazione del partner 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 con MED e BFD abilitati",
"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 senza MED o BFD",
"asPathPrependCount": "3",
"bfdEnabled": false
}
],
Attributo | Descrizione | Obbligatorio | Valore Valido |
---|---|---|---|
peerAsn | L’ASN del peer BGP remoto. | Sì | ASN valido - Interi compresi tra 1 e 4294967294 |
localAsn | L’ASN locale può sovrascrivere l’ASN del MCR per questo peer BGP. Nella maggior parte dei casi dovrebbe essere lasciato al valore predefinito. | No | ASN valido - Interi compresi tra 1 e 4294967294 localAsn non può essere impostato se peerAsn == mcrAsn localAsn non può coincidere con peerAsn se peerAsn != mcrAsn |
localIpAddress | L’indirizzo IPv4 o IPv6 su questa interfaccia da utilizzare per la comunicazione con il peer BGP. | Sì | Indirizzo IP valido v4/v6. Deve essere un indirizzo IP dell’interfaccia |
peerIpAddress | L’indirizzo IP del peer BGP. | Sì | Indirizzo IP valido v4/v6 |
password | Una chiave condivisa utilizzata per autenticare il peer BGP, fino a 32 caratteri. | No | 0-32 caratteri |
importWhitelist | Filtro di prefissi in ingresso utilizzando l’azione “permit”. Il MCR applica il filtro ai prefissi BGP ricevuti dal peer. I prefissi che non corrispondono all’elenco vengono scartati al punto più precoce possibile e non vengono mai utilizzati dal MCR. | No | 1-100 caratteri |
importBlacklist | Filtro di prefissi in ingresso utilizzando l’azione “deny”. Il MCR applica il filtro ai prefissi BGP ricevuti dal peer. I prefissi che corrispondono all’elenco vengono bloccati. Tutti gli altri prefissi sono ammessi nella tabella di routing del MCR. | No | 1-100 caratteri |
exportWhitelist | Filtro di prefissi in uscita utilizzando l’azione “permit”. Il MCR applica il filtro ai prefissi in uscita. I prefissi che corrispondono all’elenco vengono annunciati al peer BGP, mentre gli altri sono filtrati. | No | 1-100 caratteri |
exportBlacklist | Filtro di prefissi in uscita utilizzando l’azione “deny”. Il MCR applica il filtro ai prefissi in uscita. I prefissi che corrispondono all’elenco vengono bloccati verso il peer BGP, mentre gli altri vengono annunciati. | No | 1-100 caratteri |
shutdown | Per impostazione predefinita, le connessioni BGP sono abilitate e tenteranno attivamente di connettersi al peer. Seleziona shutdown per disabilitare temporaneamente la sessione BGP senza rimuoverla. Utile per attività di troubleshooting o scenari di test del failover. | No | true/false - Valore predefinito: false |
description | Descrizione opzionale della connessione BGP | No | 0-100 caratteri |
medIn | Il MED verrà applicato a tutte le route ricevute su questa connessione BGP. Lasciare vuoto per utilizzare il valore ricevuto dal peer. La route con il valore più basso verrà preferita. | No | Valori supportati: da 0 a 4.294.967.295 |
medOut | Il MED verrà applicato a tutte le route trasmesse su questa connessione BGP. L’autonomous system remoto potrebbe preferire il valore più basso. | No | Valori supportati: da 0 a 4.294.967.295 |
asPathPrependCount | asPathPrependCount è un intero che rappresenta il numero di volte che il numero di AS locale verrà anteposto negli annunci BGP in uscita verso il peer. |
No | Valori accettabili: da 1 a 10 |
bfdEnabled | Bidirectional Forwarding Detection consente un rilevamento rapido dei guasti su questa connessione BGP. Quando la connettività viene interrotta, la sessione BGP viene chiusa senza attendere la scadenza del timer hold. Il BFD può migliorare i tempi di failover quando sono disponibili più route. | No | true/false - Valore predefinito: false Opzionale |
Bidirectional Forwarding Detection (BFD)
L’oggetto di configurazione bfd
si applica a tutte le connessioni BGP sull’interfaccia per cui bfdEnabled = true
.
Le impostazioni BFD non sono modificabili. I valori predefiniti configurati quando il BFD è abilitato sono:
- Intervallo di trasmissioneIl tempo minimo in cui il vicino BGP trasmette pacchetti BFD di rilevamento della vitalità al vicino BGP.
: 300 millisecondi - Intervallo di ricezioneIl tempo minimo in cui il vicino BGP invia pacchetti di rilevamento della vitalità BFD all’interfaccia.
: 300 millisecondi - MoltiplicatoreIl numero minimo di pacchetti BFD che possono essere persi prima che la sessione BGP sia considerata disconnessa.
: 3
Nota
Queste impostazioni verranno utilizzate per tutte le connessioni BGP sul VXC in cui il BFD è abilitato.
Autoconfigurazione con AWS, Azure e Google
Per Azure, AWS Hosted VIF e Google, Megaport può configurare automaticamente gli indirizzi IP e i dettagli BGP sia sul lato MCR sia sul lato del CSP, garantendo un setup BGP funzionante. Questo riduce anche al minimo il numero di passaggi tra i portali del CSP e di Megaport.
Sebbene l’autoconfigurazione venga gestita per impostazione predefinita dal Portal, è anche possibile utilizzare l’API per avviare l’autoconfigurazione BGP.
La funzionalità viene attivata quando la chiave interfaces
in partnerConfig
non esiste o è impostata su null.
Per configurare il peering BGP con i CSP
-
Crea una richiesta a questo URL:
POST {baseUrl}/v3/networkdesign/buy
-
Aggiungi queste intestazioni alla richiesta:
- Content-Type: application/json
- Authorization: Bearer {your accessToken}
-
Crea il corpo della richiesta con i dettagli della configurazione.
Sono disponibili diversi template per i CSP più diffusi.
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
Per i dettagli della configurazione Azure, vedere Creazione di un VXC tra un MCR e Microsoft Azure con l’API.