Création d’une VXC entre un MCR et des fournisseurs de services cloud avec l’API

Cette rubrique présente la procédure API visant à créer une VXC entre un MCR et un fournisseur de services cloud (CSP). Le premier exemple crée une connexion hébergée AWS sur le marché américain - l’une des configurations les plus courantes. La rubrique présente plus tard des modèles pour d’autres CSP.

Création d’une VXC entre un MCR et AWS avec une connexion hébergée

Cet exemple crée une connexion hébergée AWS sur le marché américain. Les étapes expliquent comment :

  • obtenir l’ID produit MCR
  • trouver l’ID d’emplacement pour un marché américain disponible
  • valider et commander la VXC
  • configurer deux routes statiques
  • configurer les connexions BGP – une connexion avec les détails Multi-Exit Discriminator (MED) et Bidirectional Forwarding Detection (BFD) et une autre sans

Avant de commencer, connectez-vous et obtenez un jeton d’authentification X.

Pour créer la VXC, nous avons besoin du productUid pour le MCR.

Pour obtenir le productUid pour le MCR

  1. Obtenez la liste des produits.

    GET {baseUrl}/v2/product/
    
  2. À partir des détails du produit renvoyés, localisez la valeur productUid pour le MCR que vous voulez connecter.

    Cet exemple utilise cette valeur : fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0

Ensuite, trouvez l’ID de l’emplacement pour le marché américain que vous souhaitez prenant en charge les connexions hébergées AWS.

Pour trouver le locationId (ID d’emplacement) sur le marché américain où les connexions hébergées AWS sont disponibles

  1. Obtenez la liste de toutes les interfaces que Megaport a avec les fournisseurs de services cloud.

    GET {baseUrl}/v2/dropdowns/partner/megaports
    

    Vous pouvez filtrer les résultats par connectType et vxcPermitted.

    GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWSHC&vxcPermitted=true
    
  2. Cliquez sur la loupe et recherchez dans la réponse un site correspondant à vos critères d’emplacement.

    Pour cet exemple, sélectionnez « US West (Oregon) (us-west-2) [DZ-RED] » avec « 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
        },

Remarque

[DZ-RED] signifie zone de diversité rouge. Chaque site de connexion hébergé AWS offre deux zones de diversité pour assurer la redondance : DZ-Red et DZ-Blue.

Avec l’ID MCR et l’ID d’emplacement AWS, vous pouvez commander une VXC.

Pour commander la VXC

  1. Créez une demande avec cette URL :

    POST {baseUrl}/v2/networkdesign/buy
    

    Conseil

    Pour tester votre demande avant de commander, vous pouvez utiliser POST {API Server URL}/v2/networkdesign/validate

  2. Ajoutez ces en-têtes à la demande :

    • Content-Type : application/json
    • X-Auth-Token : {votre jeton}
  3. Créez le corps de la demande avec les détails de la configuration.

    Cet exemple utilise l’ID produit MCR, l’ID d’emplacement AWS pour la B-End, crée deux routes statiques et configure les connexions BGP - une connexion avec les détails MED et BFD et une autre sans. Les sections suivantes fournissent des détails sur les routes statiques et les connexions BGP.

[
  {
    "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"
      }
    ]
  }
]

Routes statiques

Vous pouvez créer plusieurs routes statiques par interface en ajoutant un tableau ipRoutes au tableau des interfaces de l’objet de configuration du partenaire A-End :

"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"
 }
],

Un tableau ipRoutes vide indique qu’il n’y a pas de routes statiques.

Attribut Description Nécessaire Entrée valide
prefix Préfixe IP (V4 & V6) à acheminer vers le nextHop Oui Préfixe IP v4/v6 - Si aucun masque n’est présenté l’adresse est traitée comme une adresse d’hôte (/32)
nextHop Adresse du prochain saut Oui Adresse IP v4/v6 - Doit être dans le même sous-réseau que l’interface mais pas l’IP d’interface
description Description facultative de la route statique Non Chaîne - Longueur maximale : 100 caractères

Connexions BGP

Vous pouvez créer plusieurs connexions BGP par interface en ajoutant un tableau bgpConnections au tableau des interfaces de l’objet de configuration du partenaire A-End :

"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 Description Nécessaire Entrée valide
peerAsn L’ASN du pair BGP distant. Oui ASN valide - Nombres entiers entre 1- 4294967294
localAsn L’ASN local peut outrepasser l’ASN du MCR pour ce pair BGP. Dans la plupart des cas, il doit rester par défaut. Non ASN valide- Nombres entiers entre 1- 4294967294

localAsn ne peut pas être défini si peerAsn == mcrAsn

localAsn ne peut pas correspondre à peerAsn si peerAsn != mcrAsn
localIpAddress L’adresse IPv4 ou IPv6 sur cette interface à utiliser pour la communication avec le pair BGP. Oui Adresse IP v4/v6 valide. Doit être une adresse IP de l’interface
peerIpAddress L’adresse IP du pair BGP. Oui Adresse IP v4/v6 valide
password Clé partagée utilisée pour authentifier le pair BGP, jusqu’à 32 caractères. Non 0-32 caractères
shutdown Par défaut, les connexions BGP sont activées et tenteront activement de se connecter au pair. Sélectionnez shutdown pour désactiver temporairement la session BGP sans la supprimer. Cela peut être utile pour le dépannage ou le testing de scénarios de basculement. Non true/false - False est défini par défaut
description Description facultative de la connexion BGP Non 0-100 caractères
medIn Le MED sera appliqué à toutes les routes reçues sur cette connexion BGP. Laissez vide pour utiliser la valeur reçue par le pair BGP. La route ayant la valeur la plus faible sera préférée. Non Prend en charge les valeurs entre 0 et 4 294 967 295
medOut Le MED sera appliqué à toutes les routes transmises sur cette connexion BGP. Le système autonome voisin pourrait préférer la valeur la plus basse à sa discrétion. Non Prend en charge les valeurs entre 0 et 4 294 967 295
bfdEnabled Bidirectional Forwarding Detection permet une détection rapide des défaillances sur cette connexion BGP. Lorsque la connectivité est perturbée, la session BGP est supprimée sans attendre l’expiration du minuteur de maintien BGP. L’utilisation de BFD pourrait améliorer les défaillances au fil du temps lorsque plusieurs routes sont disponibles. Non true/false -
False est défini par défaut
Facultatif

Bidirectional Forwarding Detection (BFD)

L’objet de configuration bfd s’applique à toutes les connexions BGP sur l’interface qui ont bfdEnabled = true. Si une connexion BGP a bfdEnabled, alors l’objet bfd est requis, sinon il est facultatif.

Remarque

Ces paramètres seront utilisés pour toutes les connexions BGP sur la VXC où BFD est activé.

Un objet bfd est ajouté à chaque interface.

"bfd": {
  "txInterval": 300,
  "rxInterval": 300,
  "multiplier": 3
},
Attribut Description Nécessaire Entrée valide
txInterval L’intervalle de temps minimal pour l’envoi de paquets BFD au voisin. La plage prise en charge est de 300 ms à 9999 ms. Oui 300-9999
rxInterval L’intervalle de temps minimal pour les paquets BFD qu’un voisin envoie. La plage prise en charge est de 300 ms à 9999 ms. Oui 300-9999
multiplier La session BGP sera supprimée si le nombre de paquets BFD consécutifs non reçus du voisin est égal à ce nombre. Oui 3-50

Autoconfiguration avec AWS, Azure et Google

Pour Azure, VIF hébergée AWS et Google, Megaport peut configurer l’adressage IP et les détails BGP à la fois côté MCR et côté CSP, assurant ainsi une configuration BGP fonctionnelle. Cela permet également de réduire le nombre de commutations entre les portails CSP et Megaport.

Bien que le portail gère l’autoconfiguration par défaut, vous pouvez utiliser l’API pour déclencher l’autoconfiguration BGP. La fonctionnalité est déclenchée lorsque la clé des interfaces dans partnerConfig n’existe pas ou est « null ».

Pour configurer le peering BGP pour les CSP

  1. Créez une demande avec cette URL :

    POST {baseUrl}/v2/networkdesign/buy
    
  2. Ajoutez ces en-têtes à la demande :

    • Content-Type : application/json
    • X-Auth-Token : {{votre jeton}}
  3. Créez le corps de la demande avec les détails de la configuration.

    Différents modèles sont disponibles ici pour les CSP les plus populaires.

VIF hébergée AWS

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

Pour les détails de la configuration Azure, voir Création d’une VXC entre un MCR et Microsoft Azure avec l’API.


Dernière mise à jour: