Erstellen eines VXC zwischen einem MCR und Cloud Service Providern mithilfe der API

In diesem Thema wird das API-Verfahren zum Erstellen eines VXC von einem MCR zu einem Cloud Service Provider (CSP) beschrieben. Das erste Beispiel erstellt eine AWS Hosted Connection (AWS-gehostete Verbindung) auf dem US-Markt - eine der mehr beteiligten 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 BGP-Verbindungen – eine Verbindung mit Multi-Exit-Discriminator (MED)- und Bidirectional Forwarding Detection (BFD)-Details und eine Verbindung ohne diese

Bevor Sie beginnen, melden Sie sich an und rufen Sie ein gültiges X-Auth-Token ab.

Um den VXC zu erstellen, benötigen wir die productUid für den MCR.

So erhalten Sie die „productUid“ für den MCR

  1. Rufen Sie die Produktliste ab.

    GET {baseUrl}/v2/product/
    
  2. 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

  1. 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 und vxcPermitted filtern.

    GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWSHC&vxcPermitted=true
    
  2. 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 und DZ-Blue.

Mit der MCR-ID und der AWS-Standort-ID können Sie einen VXC bestellen.

So bestellen Sie den VXC

  1. 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

  2. Fügen Sie diese Header der Anfrage hinzu:

    • Content-Type: application/json
    • X-Auth-Token: {Ihr Token}
  3. 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"
 }
],

Ein leeres „ipRoutes“-Array zeigt an, dass es keine statischen Routen gibt.

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",
    "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.
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. Die Verwendung von 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.

"bfd": {
  "txInterval": 300,
  "rxInterval": 300,
  "multiplier": 3
},
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.999 ms. Ja 300–9.999
rxInterval Die Mindestzeit zwischen BFD-Paketen, die ein Nachbar sendet. Der unterstützte Bereich ist 300 ms bis 9.999 ms. Ja 300–9.999
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 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

  1. Erstellen Sie eine Anfrage mit dieser URL:

    POST {baseUrl}/v2/networkdesign/buy
    
  2. Fügen Sie diese Header der Anfrage hinzu:

    • Content-Type: application/json
    • X-Auth-Token: {{Ihr Token}}
  3. Erstellen Sie den Text der Anfrage mit den Konfigurationsdetails.

    Hier stehen verschiedene Vorlagen für die gängigsten CSPs zur Verfügung.

Gehostete AWS-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.


Letztes Update: