action.skip

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

  1. Rufen Sie die Produktliste ab.

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

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

  1. Erstellen Sie eine Anfrage mit dieser URL:

    POST {baseUrl}/v3/networkdesign/buy
    

    Tipp

    Um Ihre Anfrage vor der Bestellung zu testen, können Sie verwenden: POST {baseUrl}/v3/networkdesign/validate

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

    • Content-Type: application/json
    • Authorization: Bearer {your accessToken}
  3. 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

  1. Erstellen Sie eine Anfrage mit dieser URL:

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

    • Content-Type: application/json
    • Authorization: Bearer {your accessToken}
  3. 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.