action.skip

Création d’un MCR VXC avec l’API

Ce sujet décrit la procédure API pour créer un MCR VXC. Le premier exemple crée une connexion AWS hébergée sur le marché américain - l’une des configurations les plus complexes. Des modèles pour d’autres CSP apparaissent plus loin dans le sujet.

Pour plus d’informations, consultez POST Validate MCR VXC Order (v3) dans la référence API.

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

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

  • obtenir l’ID du produit MCR
  • trouver l’ID de localisation pour un marché américain disponible
  • valider et commander le VXC
  • configurer deux routes statiques
  • configurer des connexions BGPLe Border Gateway Protocol (BGP) est un protocole de routage standardisé conçu pour échanger des informations de route et de portée entre les systèmes autonomes (AS) sur internet.
    – une connexion avec des détails MED et une sans.

Avant de commencer, obtenez un jeton d’accès valide. Pour plus d’informations, voir Création d’une clé API.

Pour créer le 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/products/
    
  2. À partir des détails des produits retournés, localisez la valeur productUid pour le MCR que vous souhaitez connecter.

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

Ensuite, trouvez l’ID de localisation pour le marché américain que vous souhaitez avec le support des connexions hébergées AWS.

Pour trouver le locationId dans le marché américain où les connexions hébergées AWS sont disponibles

  1. Obtenez la liste pour toutes les interfaces que Megaport a avec des 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 de localisation.

    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 Red diversity zone. Chaque site de connexion AWS Hosted fournit deux zones de diversité pour assurer la redondance: DZ-Red et DZ-Blue.

Avec l’ID MCR et l’ID de localisation AWS, vous pouvez créer un VXC.

Pour créer le VXC

  1. Créez une requête avec cette URL:

    POST {baseUrl}/v3/networkdesign/buy
    

    Conseil

    Pour tester votre requête avant de passer la commande, vous pouvez utiliser:
    POST {baseUrl}/v3/networkdesign/validate

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

    • Content-Type: application/json
    • Authorization: Bearer {your accessToken}
  3. Créez le corps (Body) de la requête avec les détails de configuration.

    Cet exemple utilise l’ID produit MCR, l’ID de localisation AWS pour le B-End, crée deux routes statiques et configure les connexions BGP – une connexion avec les détails MED et une 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",
        "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 avec MED et BFD activé",
                    "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 sans MED ou BFD",
                    "medIn": null,
                    "medOut": null,
                    "bfdEnabled": false
                  }
                ],
                "ipRoutes": [
                  {
                    "prefix": "10.0.0.0/24",
                    "nextHop": "10.191.0.26",
                    "description": "test route statique 1"
                  },
                  {
                    "prefix": "10.0.1.9/24",
                    "nextHop": "10.191.0.27",
                    "description": "test route statique 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"
      }
    ]
  }
]

Routes statiques

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

"ipRoutes": [
  {
    "prefix": "10.0.0.0/24",
    "nextHop": "10.191.0.26",
    "description": "test route statique 1"
  },
  {
    "prefix": "10.0.1.9/24",
    "nextHop": "10.191.0.27",
    "description": "test route statique 2"
 }
],
Un tableau ipRoutes vide indique qu’il n’y a pas de routes statiques.

Attribut Description Obligatoire Valeur valide
prefix Préfixe IP (V4 & V6) à router vers nextHop Oui Préfixe IP v4/v6 – Si aucun masque n’est indiqué, l’adresse est traitée comme une adresse hôte (/32)
nextHop Adresse du next hop Oui Adresse IP v4/v6 – Doit être dans le même sous-réseau que l’interface mais pas l’IP de l’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 interfaces de l’objet de configuration partenaire A-End:

"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 avec MED et BFD activé",
    "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 sans MED ou BFD",
    "asPathPrependCount": "3",
    "bfdEnabled": false
  }
],
Attribut Description Obligatoire Valeur valide
peerAsn L’ASN du pair BGP distant. Oui ASN valide – Entiers entre 1 et 4294967294
localAsn L’ASN local peut remplacer l’ASN du MCR pour ce pair BGP. Dans la plupart des cas, il doit rester par défaut. Non ASN valide – Entiers entre 1 et 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 de cette interface à utiliser pour communiquer 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 Une clé partagée utilisée pour authentifier le pair BGP, jusqu’à 32 caractères. Non 0-32 caractères
importWhitelist Filtrage des préfixes entrants avec action « permit ». Le MCR applique le filtre de préfixe aux annonces de routes BGP entrantes du voisin. Les routes ne correspondant pas aux préfixes de cette liste sont refusées au plus tôt et ne sont jamais utilisées par le MCR. Non 1-100 caractères
importBlacklist Filtrage des préfixes entrants avec action « deny ». Le MCR applique le filtre de préfixe aux annonces de routes BGP entrantes du voisin. Les routes correspondant aux préfixes de cette liste sont bloquées. Tous les autres préfixes sont autorisés à entrer dans la table de routage du MCR. Non 1-100 caractères
exportWhitelist Filtrage des préfixes sortants avec action « permit ». Le MCR applique le filtre de préfixe aux routes sortantes. Les routes correspondant à la liste de préfixes sont annoncées au voisin BGP et toutes les autres routes sont filtrées. Non 1-100 caractères
exportBlacklist Filtrage des préfixes sortants avec action « deny ». Le MCR applique le filtre de préfixe aux routes sortantes. Les routes correspondant à la liste de préfixes sont bloquées pour le voisin BGP et toutes les autres routes sont annoncées. Non 1-100 caractères
shutdown Par défaut, les connexions BGP sont activées et tentent 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 les tests de basculement. Non true/false – Par défaut false
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. Laisser vide pour utiliser la valeur reçue du pair BGP. La route avec la valeur la plus faible sera préférée. Non Valeurs supportées 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 peut préférer la valeur la plus faible à sa discrétion. Non Valeurs supportées entre 0 et 4 294 967 295
asPathPrependCount asPathPrependCount est un entier représentant le nombre de fois que le numéro AS local sera préfixé aux annonces BGP sortantes vers le pair. Non Valeurs acceptables de 1 à 10
bfdEnabled Bidirectional Forwarding Detection permet une détection rapide des pannes sur cette connexion BGP. En cas de perturbation de la connectivité, la session BGP est terminée sans attendre l’expiration du timer de maintien BGP. BFD peut améliorer le temps de basculement lorsque plusieurs routes sont disponibles. Non true/false -
Par défaut false
Optionnel

Bidirectional Forwarding Detection (BFD)

L’objet de configuration bfd s’applique à toutes les connexions BGP sur l’interface pour lesquelles bfdEnabled = true.

Les paramètres BFD ne sont pas modifiables. Les valeurs par défaut configurées lorsque BFD est activé sont:

  • Transmit IntervalLe temps minimum pendant lequel le voisin BGP transmet des paquets BFD de détection de vivacité au voisin BGP.
    : 300 millisecondes
  • Receive IntervalLe temps minimum que le voisin BGP envoie des paquets de détection de vivacité BFD à l’interface.
    : 300 millisecondes
  • MultiplierLe nombre minimum de paquets BFD qui peuvent être manqués avant que la session BGP soit considérée comme interrompue.
    : 3

Remarque

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

Autoconfiguration avec AWS, Azure et Google

Pour Azure, AWS Hosted VIF et Google, Megaport peut configurer l’adressage IP et les détails BGP à la fois sur le MCR et côté CSP, assurant ainsi un setup BGP fonctionnel. Cela réduit également le nombre de passages entre les portails CSP et Megaport.

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

Pour configurer le peering BGP pour les CSP

  1. Créez une requête avec cette URL:

    POST {baseUrl}/v3/networkdesign/buy
    
  2. Ajoutez ces en-têtes à la requête:

    • Content-Type: application/json
    • Authorization: Bearer {your accessToken}
  3. Créez le corps (Body) de la requête avec les détails de configuration.

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

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

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