Erstellen eines MCR VXC mit der API
In diesem Thema wird das API-Verfahren zum Erstellen eines MCR VXC beschrieben. Das erste Beispiel erstellt eine AWS Hosted Connection (AWS-gehostete Verbindung) auf dem US-Markt - eine der komplexeren Konfigurationen. Vorlagen für andere CSPs finden Sie weiter unten in diesem Thema.
Erstellen eines VXC zwischen einem MCR und AWS mit einer gehosteten Verbindung
Dieses Beispiel erstellt eine AWS-gehostete Verbindung auf dem US-Markt. Die Schritte beinhalten:
- den Abruf der MCR-Produkt-ID
- die Suche der Standort-ID für einen verfügbaren US-Markt
- die Validierung und Bestellung des VXC
- die Konfiguration von zwei statischen Routen
- die Konfiguration von BGPBorder Gateway Protocol.
Ein standardisiertes Routing-Protokoll zum Austausch von Routen- und Erreichbarkeitsinformationen zwischen autonomen Systemen (AS) im Internet.-Verbindungen – eine Verbindung mit MEDMulti-Exit-Discriminator.
Ein BGP-Pfadattribut, das einen BGP-Nachbarn beeinflussen kann, eine bevorzugte Route zu wählen, wenn das ankündigende autonome System (AS) für Kandidatenrouten dasselbe ist und es mehrere Einstiegspunkte für dieses AS gibt. und BFDBidirectional Forwarding Detection (bidirektionale Weiterleitungserkennung).
Das BFD-Protokoll erkennt Pfadausfälle zwischen direkt verbundenen BGP-Nachbarn und ermöglicht so eine schnellere BGP-Routing-Neukonvergenz.-Details und eine Verbindung ohne diese
Bevor Sie beginnen, besorgen Sie sich ein gültiges Access Token. Weitere Informationen dazu finden Sie unter Erstellen eines API-Schlüssels.
Um den VXC zu erstellen, benötigen wir die productUid
für den MCR.
So erhalten Sie die „productUid“ für den MCR
-
Rufen Sie die Produktliste ab.
GET {baseUrl}/v2/products/
-
Suchen Sie in den zurückgegebenen Produktdetails den Wert
productUid
für den MCR, den Sie verbinden möchten.Dieses Beispiel verwendet den folgenden Wert: fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0
Suchen Sie als nächstes die Standort-ID für den gewünschten US-Markt mit Unterstützung für AWS-gehostete Verbindungen.
So finden Sie die „locationId“ im US-Markt, wo AWS-gehostete Verbindungen verfügbar sind
-
Rufen Sie die Liste aller Schnittstellen ab, die Megaport mit Cloud Service Providern hat.
GET {baseUrl}/v2/dropdowns/partner/megaports
Sie können die Ergebnisse nach
connectType
undvxcPermitted
filtern.GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWSHC&vxcPermitted=true
-
Klicken Sie auf die Lupe und suchen Sie in der Antwort nach einem Standort, der Ihren Standortkriterien entspricht.
Wählen Sie für dieses Beispiel „US West (Oregon) (us-west-2) [DZ-RED]“ mit „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
},
Hinweis
[DZ-RED] bedeutet „Rote Diversity-Zone“. Jeder Standort einer AWS-gehosteten Verbindung bietet zwei Diversity-Zonen, um Redundanz zu gewährleisten: DZ-Red (Rote Zone) und DZ-Blue (Blaue Zone).
Mit der MCR-ID und der AWS-Standort-ID können Sie einen VXC bestellen.
So bestellen Sie den VXC
-
Erstellen Sie eine Anfrage mit dieser URL:
POST {baseUrl}/v2/networkdesign/buy
Tipp
Um Ihre Anfrage vor dem Bestellen zu testen, können Sie Folgendes verwenden: POST {API Server URL}/v2/networkdesign/validate
-
Fügen Sie diese Header der Anfrage hinzu:
- Content-Type: application/json
- Autorisierung: Bearer {your accessToken}
-
Erstellen Sie den Text der Anfrage mit den Konfigurationsdetails.
Dieses Beispiel verwendet die MCR-Produkt-ID und die AWS-Standort-ID für das B-End, Sie erstellt zwei statische Routen und konfiguriert BGP-Verbindungen: eine Verbindung mit MEDs und BFD-Details und eine ohne. In den folgenden Abschnitten finden Sie Details zu den statischen Routen und BGP-Verbindungen.
[
{
"productUid": "fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0",
"associatedVxcs": [
{
"rateLimit": 100,
"productName": "awshc",
"aEnd": {
"locationId": 320,
"vlan": 0,
"partnerConfig": {
"connectType": "VROUTER",
"interfaces": [
{
"ipAddresses": [
"10.191.0.25/29"
],
"bfd": {
"txInterval": 300,
"rxInterval": 300,
"multiplier": 3
},
"bgpConnections": [
{
"peerAsn": 62512,
"localIpAddress": "10.191.0.25",
"peerIpAddress": "10.191.0.26",
"password": "cnn6eaeaETSjvjvjvjv",
"shutdown": false,
"description": "BGP with MED and BFD enabled",
"medIn": 100,
"medOut": 100,
"bfdEnabled": true
},
{
"peerAsn": 62511,
"localIpAddress": "10.191.0.27",
"peerIpAddress": "10.191.0.28",
"password": "cnn23049asdkfj",
"shutdown": false,
"description": "BGP without MED or BFD",
"medIn": null,
"medOut": null,
"bfdEnabled": false
}
],
"ipRoutes": [
{
"prefix": "10.0.0.0/24",
"nextHop": "10.191.0.26",
"description": "test static route 1"
},
{
"prefix": "10.0.1.9/24",
"nextHop": "10.191.0.27",
"description": "test static route 2"
}
],
"natIpAddresses": []
}
]
}
},
"bEnd": {
"locationId": 57,
"ownerUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
"productUid": "d5518ee1-e915-4e3d-a4e1-a2c7e04f2fdd",
"vlan": 0,
"partnerConfig": {
"name": "awshc",
"ownerAccount": "684021030471",
"connectType": "AWSHC"
}
},
"productType": "VXC",
"connectType": "AWSHC"
}
]
}
]
Statische Routen
Sie können mehrere statische Routen pro Schnittstelle erstellen, indem Sie ein Array ipRoutes
-Array zum Schnittstellen-Array des A-End-Partnerkonfigurationsobjekts hinzufügen:
"ipRoutes": [
{
"prefix": "10.0.0.0/24",
"nextHop": "10.191.0.26",
"description": "test static route 1"
},
{
"prefix": "10.0.1.9/24",
"nextHop": "10.191.0.27",
"description": "test static route 2"
}
],
Attribut | Beschreibung | Erforderlich | Gültige Eingabe |
---|---|---|---|
prefix | IP-Präfix (V4 und V6) zur Weiterleitung an nextHop | Ja | IP-Präfix v4/v6 - Wenn keine Maske vorhanden ist, wird die Adresse als Host-Adresse behandelt (/32) |
nextHop | Nächste Hop-Adresse | Ja | IP-Adresse v4/v6 - Muss im gleichen Subnetz wie die Schnittstelle liegen, aber nicht die Schnittstellen-IP |
description | Optionale Beschreibung der statischen Route | Nein | Zeichenfolge - Max. Länge von 100 Zeichen |
BGP-Verbindungen
Sie können mehrere BGP-Verbindungen pro Schnittstelle erstellen, indem Sie dem „interfaces“-Array des A-End-Partnerkonfigurationsobjekts ein „bgpConnections“-Array hinzufügen:
"bgpConnections": [
{
"peerAsn": 62512,
"localIpAddress": "10.191.0.25",
"peerIpAddress": "10.191.0.26",
"password": "cnn6eaeaETSjvjvjvjv",
"shutdown": false,
"description": "BGP with MED and BFD enabled",
"medIn": 100,
"medOut": 100,
"bfdEnabled": true
},
{
"peerAsn": 62511,
"localIpAddress": "10.191.0.27",
"peerIpAddress": "10.191.0.28",
"password": "cnn23049asdkfj",
"shutdown": false,
"description": "BGP without MED or BFD",
"asPathPrependCount": "3",
"bfdEnabled": false
}
],
Attribut | Beschreibung | Erforderlich | Gültige Eingabe |
---|---|---|---|
peerAsn | Die ASN des entfernten BGP-Peers. | Ja | Gültige ASN - Ganzzahl zwischen 1 und 4.294.967.294 |
localAsn | Die lokale ASN kann die ASN des MCR für diesen BGP-Peer überschreiben. In den meisten Fällen sollte es bei der Voreinstellung belassen werden. | Nein | Gültige ASN - Ganzzahl zwischen 1 und 4.294.967.294 „localAsn“ kann nicht gesetzt werden, wenn peerAsn == mcrAsn „localAsn“ darf nicht mit „peerAsn“ übereinstimmen, wenn peerAsn != mcrAsn |
localIpAddress | Die IPv4- oder IPv6-Adresse in dieser Schnittstelle, die für die Kommunikation mit dem BGP-Peer verwendet werden soll. | Ja | Gültige IP-Adresse v4/v6. Es muss eine IP-Adresse der Schnittstelle sein. |
peerIpAddress | Die IP-Adresse des BGP-Peers. | Ja | Gültige IP-Adresse v4/v6 |
password | Ein gemeinsamer Schlüssel, der zur Authentifizierung des BGP-Peers verwendet wird, bis zu 32 Zeichen. | Keine | 0 bis 32 Zeichen |
shutdown | Standardmäßig sind BGP-Verbindungen aktiviert und versuchen aktiv, sich mit dem Peer zu verbinden. Wählen Sie „shutdown“ (Ausschalten), um die BGP-Sitzung vorübergehend zu deaktivieren, ohne sie zu entfernen. Dies kann bei der Fehlersuche oder beim Testen von Failover-Szenarien nützlich sein. | Nein | true/false - Der Standardwert ist „false“. |
description | Optionale Beschreibung der BGP-Verbindung | Keine | 0 bis 100 Zeichen |
medIn | Der MED wird auf alle Routen angewendet, die auf dieser BGP-Verbindung empfangen werden. Lassen Sie es leer, um den vom BGP-Peer empfangenen Wert zu verwenden. Die Route mit dem niedrigsten Wert wird bevorzugt. | Nein | Unterstützt Werte zwischen 0 und 4.294.967.295 |
medOut | Der MED wird auf alle Routen angewendet, die auf dieser BGP-Verbindung übertragen werden. Das benachbarte autonome System kann nach eigenem Ermessen den niedrigsten Wert bevorzugen. | Nein | Unterstützt Werte zwischen 0 und 4.294.967.295. |
asPathPrependCount | Eine ganze Zahl, die angibt, wie oft die lokale AS-Nummer in ausgehenden BGP-Ankündigungen an den Peer vorangestellt wird. | Nein | Zulässige Werte liegen im Bereich 1-10 |
bfdEnabled | „Bidirectional Forwarding Detection“ (BFD) ermöglicht eine schnelle Fehlererkennung auf dieser BGP-Verbindung. Wenn die Verbindung unterbrochen wird, wird die BGP-Sitzung abgebaut, ohne dass der Ablauf des BGP-Haltezeitgeber abgewartet wird. BFD kann die Failover-Zeit verbessern, wenn mehrere Routen verfügbar sind. | Nein | true/false - Der Standardwert ist „false“. Optional |
Bidirectional Forwarding Detection (BFD, bidirektionale Weiterleitungserkennung)
Das Konfigurationsobjekt bfd
gilt für alle BGP-Verbindungen an der Schnittstelle, die bfdEnabled = true
aufweisen. Wenn eine BGP-Verbindung bfdEnabled
aufweist, dann ist das bfd
-Objekt erforderlich. Anderenfalls ist es optional.
Hinweis
Diese Einstellungen werden für alle BGP-Verbindungen des VXC verwendet, bei dem BFD aktiviert ist.
Zu jeder Schnittstelle wird ein bfd
-Objekt hinzugefügt.
Attribut | Beschreibung | Erforderlich | Gültige Eingabe |
---|---|---|---|
txInterval | Die minimale Zeit zwischen dem Senden von BFD-Paketen an den Nachbarn. Der unterstützte Bereich ist 300 ms bis 9.000 ms. | Ja | 300–9.000 |
rxInterval | Die Mindestzeit zwischen BFD-Paketen, die ein Nachbar sendet. Der unterstützte Bereich ist 300 ms bis 9.000 ms. | Ja | 300–9.000 |
multiplier | Die BGP-Sitzung wird unterbrochen, wenn so viele aufeinanderfolgende BFD-Pakete vom Nachbarn nicht empfangen werden. | Ja | 3–50 |
Autokonfiguration mit AWS, Azure und Google
Für Azure, AWS Hosted VIF und Google kann Megaport die IP-Adressierung und BGP-Details sowohl auf der MCR- als auch auf der CSP-Seite einrichten und so ein funktionierendes BGP-Setup sicherstellen. Dies minimiert auch den Aufwand für das Wechseln zwischen den Portalen CSP und Megaport.
Während das Portal die Autokonfiguration standardmäßig übernimmt, können Sie die API auch verwenden, um die BGP-Autokonfiguration auszulösen. Die Funktionalität wird ausgelöst, wenn der Schnittstellenschlüssel in „partnerConfig“ nicht existiert oder null ist.
So konfigurieren Sie BGP-Peering für CSPs
-
Erstellen Sie eine Anfrage mit dieser URL:
POST {baseUrl}/v2/networkdesign/buy
-
Fügen Sie diese Header der Anfrage hinzu:
- Content-Type: application/json
- Autorisierung: Bearer {your accessToken}
-
Erstellen Sie den Text der Anfrage mit den Konfigurationsdetails.
Hier stehen verschiedene Vorlagen für die gängigsten CSPs zur Verfügung.
AWS-gehostete VIF (AWS Hosted VIF)
{
"productUid": "{{mcrid}}",
"associatedVxcs": [
{
"productName": "Test AWS VIF VXC",
"rateLimit": 100,
"aEnd": {
"vlan": 0
},
"bEnd": {
"productUid": "{{awsPortUid}}",
"partnerConfig": {
"connectType": "AWS",
"type": "private",
"ownerAccount": "{{yourAWSAccountNumber}}"
}
}
}
]
}
Google Cloud
{
"productUid": "{{mcrid}}",
"associatedVxcs": [
{
"productName": "Test Google VXC",
"rateLimit": 100,
"aEnd": {
"vlan": 0
},
"bEnd": {
"productUid": "{{googlePortUid}}",
"partnerConfig": {
"connectType": "GOOGLE",
"pairingKey": "{{googlekey}}"
}
},
"productType": "VXC"
}
]
}
Microsoft Azure
Details zur Azure-Konfiguration finden Sie unter Erstellen eines VXC zwischen einem MCR und Microsoft Azure mithilfe der API.