action.skip

Création d’un VXC entre un MCR et Microsoft Azure avec l’API

Ce sujet décrit la procédure API pour créer un VXC d’un MCR vers Microsoft Azure ExpressRoute, y compris comment rechercher des emplacements d’interconnexion Azure et commander des VXCs.

Le déploiement de MCR vers Azure comprend les tâches suivantes:

  1. Configurer un circuit ExpressRoute dans la console Azure

    Lorsqu’il est déployé, vous obtenez une clé de service. Lorsque vous validez une clé de service, des ports primaires et secondaires vous sont présentés et vous pouvez choisir le port pour la connexion. Vous pouvez utiliser la clé une deuxième fois et créer une autre connexion vers le port inutilisé.

    Pour plus d’informations, consultez le sujet d’aide Microsoft Tutoriel: Créer et modifier un circuit ExpressRoute.

  2. Avec la clé de service, créez et déployez votre VXC

    Dans le cadre de la configuration du VXC, vous pouvez choisir le type de peering.

    Le type de peering peut être soit privé, soit Microsoft.

    Un type de peering défini entraîne une configuration de peering automatiquement avec des pairs correspondants à la fois du côté Azure et Megaport et un système déployé avec une configuration fonctionnelle connue. Vous pouvez modifier la configuration une fois déployée.

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

Valider la clé de service

Lorsque vous utilisez l’API pour valider une clé de service Azure, la réponse inclut les détails d’ExpressRoute des ports et pairs associés. Vous avez besoin des détails du port pour créer les VXCs.

Pour valider la clé de service dans la collection Postman

  1. Dans Postman, développez Cloud Connectivity > MCR > Azure dans la navigation de gauche et sélectionnez GET Look Up Azure Service Key.

  2. Ajoutez la clé de service au point de terminaison.

  3. Cliquez sur Send pour faire une demande GET au serveur API.

    GET {baseUrl}/v2/secure/azure/{service_key}
    

Voici une réponse exemple pour une nouvelle clé (sans VXCs configurés) :

{
    "message": "Successful lookup",
    "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
    "data": {
        "managed": false,
        "connectType": "AZURE",
        "resource_type": "csp_connection",
        "bandwidth": 200,
        "service_key": "3e2480b2-b4d5-424b-976a-7b0de65a1b62",
        "vlan": 3289,
        "megaports": [
            {
                "portSpeed": 10000,
                "name": "Washington DC Primary",
                "state": "VA",
                "description": "Azure ExpressRoute at Equinix DC2/6",
                "productUid": "a7ae8a35-433e-44aa-87cb-a1b7995ab008",
                "nServiceId": 32832,
                "companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
                "country": "USA",
                "vxc": null,
                "port": 14570,
                "companyName": "Azure ExpressRoute",
                "locationId": 67,
                "productId": 14570,
                "type": "primary",
                "companyId": 1475
            },
            {
                "portSpeed": 10000,
                "name": "Washington DC Secondary",
                "state": "VA",
                "description": "Azure ExpressRoute at Equinix DC2/6",
                "productUid": "07ab0ee6-7f77-41ac-bbe6-335e3ee6d182",
                "nServiceId": 36431,
                "companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
                "country": "USA",
                "vxc": null,
                "port": 16108,
                "companyName": "Azure ExpressRoute",
                "locationId": 67,
                "productId": 16108,
                "type": "secondary",
                "companyId": 1475
            }
        ],
        "peers": []
    }
}

Pour plus d’informations sur chaque champ de la réponse, consultez Champs de la réponse API de clé de service Azure.

Commander un VXC avec des options de peering

Avec les détails de la clé de service, créez un VXC vers le port principal et un autre VXC vers le port secondaire. Assurez-vous de sélectionner un MCR dans la même région que les ports Azure issus de la requête de recherche de clé de service.

Si vous spécifiez le type de peering dans la requête API pour le VXC, Megaport configurera l’adressage IP et les détails BGP à la fois sur le MCR et côté Azure pour garantir un setup BGP fonctionnel.

Pour spécifier le type de peering, ajoutez un type de peering au tableau peers dans la section partnerConfig. Si un tableau peers n’existe pas, les peers sont récupérés depuis Azure. Si les peers ne sont pas spécifiés lors de la création du VXC et qu’il n’y a pas de peers dans Azure (ce qui est normalement le cas pour les nouvelles clés de service), le peering MCR ne sera pas autoconfiguré.

Le MCR crée un VLAN pour chaque type de peering configuré. Si les options de peering privé et Microsoft sont spécifiées, le MCR configure deux VLAN internes.

Remarque

Les types de peering sont mémorisés et ne peuvent pas être modifiés si une clé a été utilisée précédemment.

Pour créer le VXC

  1. Créez une requête avec le point de terminaison POST Create VXC to Azure (v3):

    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. Mettez à jour le corps (Body) de la requête avec le productUid du MCR, le nom du VXC, le productUid du port Azure, et la clé de service. Incluez l’option de peering appropriée. La vitesse maximale (rateLimit) est définie dans la valeur de bande passante de la réponse de la clé de service. Dans ce cas, elle est de 200.

    Le VLAN Azure (si spécifié) est le VLAN tag externe pour Q-in-Q. Si vous ne spécifiez pas le VLAN, il sera autoprovisionné.

Pour utiliser une clé Azure avec l’option de peering privé, utilisez ce modèle:

 [
     {
        "productUid": "{{mcrid}}",
        "associatedVxcs": [
            {
                "productName": "Azure Primary VXC",
                "rateLimit": 200,
                "term": 12,
                "shutdown": false,
                "promoCode": "promox3mnthfree2",
                "aEnd": {
                    "vlan": 0
                },
                "bEnd": {
                    "productUid": "{{azurepuid}}",
                    "vlan": "{{azurevlan}}",
                    "partnerConfig": {
                        "connectType": "AZURE",
                        "serviceKey": "{{azurekey}}",
                        "peers": [{"type": "private"}]
                    }
                }
            }
        ]
    }
]

Pour le peering Microsoft, utilisez cette ligne pour les peers:

          "peers":[{"type":"microsoft"}]

Pour le peering Microsoft et privé, utilisez cette ligne:

          "peers":[{"type":"microsoft"}, {"type": "private"}]

Après avoir créé un VXC pour le port Azure principal, créez un autre VXC pour vous connecter au productUid du port Azure secondaire (modifiez le productName et le bEnd: productUid).

Réponse configurée

Lorsque vous créez les VXC avec peering, une nouvelle requête de validation de clé de service affiche la configuration complète.

{
    "message": "Successful lookup",
    "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
    "data": {
        "managed": true,
        "connectType": "AZURE",
        "resource_type": "csp_connection",
        "bandwidth": 200,
        "service_key": "3e2480b2-b4d5-424b-976a-7b0de65a1b62",
        "vlan": 3289,
        "megaports": [
            {
                "portSpeed": 10000,
                "name": "Washington DC Primary",
                "state": "VA",
                "description": "Azure ExpressRoute at Equinix DC2/6",
                "productUid": "a7ae8a35-433e-44aa-87cb-a1b7995ab008",
                "nServiceId": 32832,
                "companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
                "country": "USA",
                "vxc": 60574,
                "port": 14570,
                "companyName": "Azure ExpressRoute",
                "locationId": 67,
                "productId": 14570,
                "type": "primary",
                "companyId": 1475
            },
            {
                "portSpeed": 10000,
                "name": "Washington DC Secondary",
                "state": "VA",
                "description": "Azure ExpressRoute at Equinix DC2/6",
                "productUid": "07ab0ee6-7f77-41ac-bbe6-335e3ee6d182",
                "nServiceId": 36431,
                "companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
                "country": "USA",
                "vxc": 60575,
                "port": 16108,
                "companyName": "Azure ExpressRoute",
                "locationId": 67,
                "productId": 16108,
                "type": "secondary",
                "companyId": 1475
            }
        ],
        "peers": [
            {
                "peer_asn": 133937,
                "shared_key": null,
                "primary_subnet": "169.254.167.176/30",
                "secondary_subnet": "169.254.167.180/30",
                "vlan": 100,
                "type": "private"
            },
            {
                "peer_asn": 133937,
                "shared_key": null,
                "prefixes": "117.18.81.116/30,117.18.81.120/30",
                "primary_subnet": "117.18.81.116/30",
                "secondary_subnet": "117.18.81.120/30",
                "vlan": 200,
                "type": "microsoft"
            }
        ]
    }
}