Création d’une VXC MCR avec l’API
Cette rubrique présente la procédure API visant à créer une VXC MCR. 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 BGPBorder Gateway Protocol (Protocole de passerelle externe).
Un protocole de routage normalisé conçu pour échanger des informations de routage et d’accessibilité entre des systèmes autonomes (AS) sur Internet. – une connexion avec les détails MEDMulti-Exit Discriminator.
Attribut de chemin BGP qui peut influencer un voisin BGP pour qu’il prenne un chemin préféré lorsque le système autonome (AS) d’annonce est le même pour les chemins candidats et qu’il existe plusieurs points d’entrée pour cet AS. et BFDBidirectional Forwarding Detection (Détection de transfert bidirectionnel).
Le protocole BFD détecte tout échec de chemin entre des voisins BGP directement connectés, ce qui réduit le temps de re-convergence du routage BGP. et une autre 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 la VXC, nous avons besoin du productUid
pour le MCR.
Pour obtenir le productUid pour le MCR
-
Obtenez la liste des produits.
GET {baseUrl}/v2/products/
-
À 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
-
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
etvxcPermitted
.GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWSHC&vxcPermitted=true
-
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
-
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
-
Ajoutez ces en-têtes à la demande :
- Content-Type : application/json
- Autorisation : Bearer {your accessToken}
-
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"
}
],
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",
"asPathPrependCount": "3",
"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 |
asPathPrependCount | asPathPrependCount est un nombre entier représentant le nombre de fois que le numéro AS local est ajouté aux annonces BGP sortantes adressées au pair. | Non | Les valeurs acceptables sont comprises dans la plage. 1-10 |
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. BFD pourrait améliorer les défaillances au fil du temps lorsque plusieurs routes sont disponibles. | No (Non) | true/false (vrai/faux) - La valeur false est définie 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.
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 à 9 000 ms. | Yes (Oui) | 300-9 000 |
rxInterval | L’intervalle de temps minimal pour les paquets BFD qu’un voisin envoie. La plage prise en charge est de 300 ms à 9 000 ms. | Yes (Oui) | 300-9 000 |
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 également 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
-
Créez une demande avec cette URL :
POST {baseUrl}/v2/networkdesign/buy
-
Ajoutez ces en-têtes à la demande :
- Content-Type : application/json
- Autorisation : Bearer {your accessToken}
-
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.