Erstellen eines MCR VXC mit der API
Dieses Thema beschreibt das API-Verfahren zum Erstellen eines MCR VXC. Das erste Beispiel erstellt eine AWS Hosted Connection im US-Markt – eine der aufwendigeren Konfigurationen. Vorlagen für andere CSPs erscheinen später in diesem Thema.
Weitere Informationen finden Sie unter POST Validate MCR VXC Order (v3) in der API-Referenz.
Erstellen eines VXC zwischen einem MCR und AWS mit einer Hosted Connection
Dieses Beispiel erstellt eine AWS Hosted Connection im US-Markt. Die Schritte umfassen Folgendes:
- die Produkt-ID des MCR abrufen
- die Location-ID für einen verfügbaren US-Markt finden
- den VXC validieren und bestellen
- zwei statische Routen konfigurieren
- BGPBorder Gateway Protocol (BGP) ist ein standardisiertes Routing-Protokoll, das Routen- und Erreichbarkeitsinformationen zwischen Autonomen Systemen (AS) im Internet austauscht.
Verbindungen – eine Verbindung mit MEDMulti-Exit Discriminator (MED) ist ein BGP-Pfadattribut, das einen BGP-Nachbarn dazu veranlassen kann, eine bevorzugte Route zu wählen, wenn das ankündigende Autonome System (AS) für die Kandidatenrouten gleich ist und es mehrere Eintrittspunkte in dieses AS gibt. Eine niedrigere MED-Metrik wird einer höheren vorgezogen.
Details und eine ohne.
Bevor Sie beginnen, besorgen Sie sich ein gültiges Access Token. Weitere Informationen 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
productUid-Wert für den MCR, den Sie verbinden möchten.In diesem Beispiel wird dieser Wert verwendet: fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0
Nächste finden Sie die Location-ID für den gewünschten US-Markt mit Unterstützung für AWS Hosted Connections.
So finden Sie die locationId im US-Markt, in dem AWS Hosted Connections verfügbar sind
-
Rufen Sie die Liste aller Schnittstellen ab, die Megaport mit Cloud Service Providern hat.
GET {baseUrl}/v2/dropdowns/partner/megaportsSie können die Ergebnisse nach
connectTypeundvxcPermittedfiltern.GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWSHC&vxcPermitted=true -
Klicken Sie auf die Lupe und durchsuchen Sie die Antwort nach einem Standort, der Ihren Kriterien 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 Red-Diversität-Zone. Jeder AWS Hosted Connection-Standort stellt zwei Diversität-Zonen zur Verfügung, um Redundanz bereitzustellen: DZ-Red und DZ-Blue.
Mit der MCR-ID und der AWS-Standort-ID können Sie ein VXC erstellen.
So erstellen Sie das VXC
-
Erstellen Sie eine Anfrage mit dieser URL:
POST {baseUrl}/v3/networkdesign/buyTipp
Um Ihre Anfrage vor der Bestellung zu testen, können Sie verwenden: POST {baseUrl}/v3/networkdesign/validate
-
Fügen Sie diese Header zur Anfrage hinzu:
- Content-Type: application/json
- Authorization: Bearer {your accessToken}
-
Erstellen Sie den Body der Anfrage mit den Konfigurationsdetails.
Dieses Beispiel verwendet die MCR-Produkt-ID, die AWS-Standort-ID für das B-Ende, erstellt zwei statische Routen und konfiguriert BGP-Verbindungen – eine Verbindung mit MED-Details und eine ohne. Die folgenden Abschnitte geben Details zu den statischen Routen und BGP-Verbindungen.
[
{
"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 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",
"importWhitelist": null,
"importBlacklist": null,
"exportWhitelist": null,
"exportBlacklist": null,
"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": "XXXXXXXXXXXX",
"connectType": "AWSHC"
}
},
"productType": "VXC",
"connectType": "AWSHC"
}
]
}
]
Statische Routen
Sie können mehrere statische Routen pro Schnittstelle erstellen, indem Sie ein ipRoutes-Array zum interfaces-Array des Partnerkonfigurationsobjekts des A-Endes 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"
}
],
Ein leeres ipRoutes-Array zeigt an, dass keine statischen Routen vorhanden sind.
| Attribut | Beschreibung | Erforderlich | Gültige Eingabe |
|---|---|---|---|
| prefix | IP-Präfix (IPv4 & IPv6), das zum nextHop geroutet werden soll | Ja | IPv4/IPv6-Präfix — wenn keine Maske angegeben ist, wird die Adresse als Host-Adresse (/32) behandelt |
| nextHop | Next-Hop-Adresse | Ja | IPv4/IPv6-Adresse — muss sich im selben Subnetz wie die Schnittstelle befinden, darf aber nicht die Schnittstellen-IP sein |
| description | Optionale Beschreibung der statischen Route | Nein | String — maximale Länge 100 Zeichen |
BGP-Verbindungen
Sie können mehrere BGP-Verbindungen pro Schnittstelle erstellen, indem Sie ein bgpConnections-Array zum interfaces-Array des Partnerkonfigurationsobjekts des A-Endes hinzufügen:
"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 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",
"importWhitelist": null,
"importBlacklist": null,
"exportWhitelist": null,
"exportBlacklist": null,
"shutdown": false,
"description": "BGP without MED or BFD",
"asPathPrependCount": "3",
"bfdEnabled": false
}
],
| Attribut | Beschreibung | Erforderlich | Gültige Eingabe |
|---|---|---|---|
| peerAsn | ASN des entfernten BGP-Peers. | Ja | Gültiges ASN — Ganzzahlen zwischen 1 und 4.294.967.294 |
| localAsn | Lokales ASN — kann das ASN des MCR für diesen BGP-Peer überschreiben. In den meisten Fällen sollte der Standard beibehalten werden. | Nein | Gültiges ASN — Ganzzahlen zwischen 1 und 4.294.967.294 localAsn darf nicht gesetzt werden, wenn peerAsn == mcrAsn localAsn darf nicht mit peerAsn übereinstimmen, wenn peerAsn != mcrAsn |
| localIpAddress | Die IPv4- oder IPv6-Adresse auf dieser Schnittstelle, die für die Kommunikation mit dem BGP-Peer verwendet wird. | Ja | Gültige IPv4/IPv6-Adresse — muss eine Adresse der Schnittstelle sein |
| peerIpAddress | Die IP-Adresse des BGP-Peers. | Ja | Gültige IPv4/IPv6-Adresse |
| password | Ein Shared Key zur Authentifizierung des BGP-Peers, bis zu 32 Zeichen. | Nein | 0–32 Zeichen |
| importWhitelist | Eingehende Präfixfilterung (Allow-Action). MCR wendet den Präfixfilter auf eingehende BGP-Routenanzeigen vom Nachbarn an. Routen, die nicht mit den Präfixen in dieser Liste übereinstimmen, werden abgelehnt. | Nein | 1–100 Zeichen |
| importBlacklist | Eingehende Präfixfilterung (Deny-Action). Prefixe in dieser Liste werden blockiert; alle anderen Prefixe werden zugelassen. | Nein | 1–100 Zeichen |
| exportWhitelist | Ausgehende Präfixfilterung (Allow-Action). Routen, die mit der Präfixliste übereinstimmen, werden an den BGP-Nachbarn annonciert; alle anderen Routen werden gefiltert. | Nein | 1–100 Zeichen |
| exportBlacklist | Ausgehende Präfixfilterung (Deny-Action). Routen, die mit der Präfixliste übereinstimmen, werden an den BGP-Nachbarn blockiert; alle anderen Routen werden annonciert. | Nein | 1–100 Zeichen |
| shutdown | Standardmäßig sind BGP-Verbindungen aktiviert und versuchen aktiv, die Verbindung zum Peer herzustellen. Wählen Sie shutdown, um die BGP-Sitzung vorübergehend zu deaktivieren, ohne sie zu entfernen. Nützlich für Troubleshooting oder Failover-Tests. |
Nein | true/false — Standard: false |
| description | Optionale Beschreibung der BGP-Verbindung | Nein | 0–100 Zeichen |
| medIn | MED wird auf alle empfangenen Routen dieser BGP-Verbindung angewendet. Leer lassen, um den vom Peer empfangenen Wert zu verwenden. Die Route mit dem niedrigsten Wert wird bevorzugt. | Nein | Wertebereich 0 bis 4.294.967.295 |
| medOut | MED wird auf alle gesendeten Routen dieser BGP-Verbindung angewendet. Das benachbarte AS kann niedrigere Werte bevorzugen. | Nein | Wertebereich 0 bis 4.294.967.295 |
| asPathPrependCount | Anzahl, wie oft die lokale AS-Nummer bei ausgehenden BGP-Ankündigungen an den Peer vorangestellt wird. | Nein | Zulässige Werte 1–10 |
| bfdEnabled | Bidirectional Forwarding Detection ermöglicht schnelle Fehlererkennung auf dieser BGP-Verbindung. Wird die Konnektivität unterbrochen, wird die BGP-Sitzung ohne Warten auf den Hold-Timer beendet. Kann Failover-Zeiten verbessern. | Nein | true/false — Standard: false |
Bidirektionale Weiterleitungs-Erkennung (BFD)
Das bfd-Konfigurationsobjekt gilt für alle BGP-Verbindungen auf der Schnittstelle, die bfdEnabled = true haben.
Die BFD-Einstellungen sind nicht editierbar. Die Standardwerte, die beim Aktivieren von BFD konfiguriert werden, sind:
- SendeintervallDas minimale Intervall, mit dem der BGP-Nachbar BFD-Pakete zur Liveness-Erkennung an den BGP-Nachbarn sendet.
: 300 Millisekunden - EmpfangsintervallDas Mindestintervall, in dem der BGP-Nachbar BFD-Pakete zur Liveness-Erkennung an die Schnittstelle sendet.
: 300 Millisekunden - MultiplikatorDie Mindestanzahl an BFD-Paketen, die ausbleiben dürfen, bevor die BGP-Sitzung als down gilt.
: 3
Hinweis
Diese Einstellungen werden für alle BGP-Verbindungen auf dem VXC verwendet, bei denen BFD aktiviert ist.
Autokonfiguration mit AWS, Azure und Google
Für Azure, AWS Hosted VIF und Google kann Megaport die IP-Adressierung und die BGP-Details sowohl auf der MCR- als auch auf der CSP-Seite einrichten, um eine funktionierende BGP-Konfiguration sicherzustellen. Dadurch reduzieren sich Wechsel zwischen dem CSP-Portal und dem Portal.
Während das Portal die Autokonfiguration standardmäßig übernimmt, können Sie auch die API verwenden, um die BGP-Autokonfiguration auszulösen. Die Funktionalität wird aktiviert, wenn der interfaces-Schlüssel in partnerConfig nicht vorhanden oder null ist.
So konfigurieren Sie BGP-Peering für CSPs
-
Erstellen Sie eine Anfrage mit dieser URL:
POST {baseUrl}/v3/networkdesign/buy -
Fügen Sie diese Header zur Anfrage hinzu:
- Content-Type: application/json
- Authorization: Bearer {your accessToken}
-
Erstellen Sie den Body der Anfrage mit den Konfigurationsdetails.
Für die gängigsten CSPs sind hier verschiedene Vorlagen verfügbar.
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
Details zur Azure-Konfiguration finden Sie unter Erstellen eines VXC zwischen einem MCR und Microsoft Azure mit der API.