Créer un VXC entre un MVE et Microsoft Azure avec l’API
Ce sujet décrit la procédure API pour créer un VXC d’un MVE vers Microsoft Azure ExpressRoute. La configuration se fait en deux étapes: d’abord, vous recherchez les emplacements d’interconnexion Azure avec la clé de service Azure, puis vous pouvez créer le VXC vers un vNIC spécifique sur votre MVE.
Remarque
Avant de pouvoir vous connecter à Azure, vous devez configurer un circuit ExpressRoute dans la console Azure. Une fois configuré, vous recevez une clé de service avec les détails de connexion. Pour configurer votre connexion MVE à Azure, vous recherchez les détails de la clé de service puis créez des VXCs vers les ports Azure.
Le déploiement de MVE vers Azure inclut ces tâches:
-
Configurer un circuit ExpressRoute dans la console Azure
Une fois déployé, vous obtenez une clé de service. Lorsque vous validez une clé de service, vous êtes présenté avec des ports principaux et secondaires 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 non utilisé.
Pour plus d’informations, consultez le sujet d’aide Microsoft Tutoriel: Créer et modifier un circuit ExpressRoute.
-
Valider la clé de service Azure
Lors de la commande d’un service Azure, utilisez la clé de service et assurez-vous qu’il y a un port libre pour une connexion.
La réponse API inclut les détails ExpressRoute des ports et pairs associés. Vous avez besoin des détails des ports Azure pour créer le VXC.
-
Créer et déployer un VXC
Avec la clé de service validée et les détails du port, créez le VXC vers Microsoft Azure depuis le MVE.
Dans le cadre de la configuration de 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 appariés des deux côtés 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 token d’accès valide. Pour plus d’informations, consultez Création d’une clé API.
Valider la clé de service
Utilisez l’API pour valider une clé de service Microsoft Azure. La réponse inclut les détails ExpressRoute des ports et pairs associés. Vous avez besoin des détails des ports Azure pour créer le VXC.
Examinez la clé de service et assurez-vous qu’il y a un Port libre pour une connexion. Dans la réponse API, les ports disponibles sont listés comme "vxc":null et les ports avec une valeur assignée ne sont pas disponibles.
Pour plus d’informations sur chaque champ de réponse, consultez Champs de réponse de la clé de service Azure.
Pour valider la clé de service
-
Utilisez l’API GET Look Up Azure Service Key pour rechercher les détails de localisation de Microsoft Azure avec la clé de service:
GET {baseUrl}/v2/secure/azure/{service_key}
Voici un exemple de réponse pour une clé de couplage avec un port disponible (vxc = null).
{
"message": "Successful lookup",
"terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
"data": {
"bandwidth": 50,
"connectType": "AZURE",
"managed": false,
"megaports": [
{
"productId": 53013,
"productUid": "83f95deb-a537-485e-80d9-c442c776ddc9",
"name": "London Primary",
"nServiceId": 119129,
"description": "Azure ExpressRoute at Equinix LD5",
"companyId": 1475,
"companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
"companyName": "Azure ExpressRoute",
"portSpeed": 10000,
"locationId": 90,
"state": null,
"country": "United Kingdom",
"port": 53013,
"type": "primary",
"vxc": null
},
{
"productId": 53014,
"productUid": "d84ad163-8e22-4150-8cb7-44f1aecf9e90",
"name": "London Secondary",
"nServiceId": 119130,
"description": "Azure ExpressRoute at Equinix LD5",
"companyId": 1475,
"companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
"companyName": "Azure ExpressRoute",
"portSpeed": 10000,
"locationId": 90,
"state": null,
"country": "United Kingdom",
"port": 53014,
"type": "secondary",
"vxc": null
}
],
"peers": [],
"resource_type": "csp_connection",
"service_key": "3f0f66b9-0c82-4d61-ae31-f5985c841a4a",
"vlan": 19
}
}
Créer et déployer un VXC vers un vNIC spécifique
Avec les détails du port Azure ExpressRoute issus de la recherche de la clé de service, créez le VXC vers Azure.
Vous spécifiez les détails de configuration dans le corps (Body) de la requête. Le premier productUid identifie le MVE et le bEnd: productUid identifie l’interface Azure. Vous devez également fournir la clé de service Azure ExpressRoute dans le champ serviceKey.
Conseil
Recherchez les emplacements Azure pour le B-End de la connexion avec le point de terminaison v2/dropdowns/partner/megaports.
Vous pouvez créer plusieurs connexions vers une interface Azure, par exemple si vous devez connecter à la fois des peers privés et Microsoft à la même interface.
VLAN de peering Azure unique
Dans cet exemple, un VLAN de peering Azure unique est utilisé. Vous pouvez le reconnaître car l’aEnd innerVlan et le bEnd innerVlan sont spécifiés. Pour un VLAN de peering Azure unique, les deux sont définis sur la même valeur.
Si cette valeur est définie sur 0, un inner VLAN valide sera attribué et défini par le système.
Conseil
Pour tester votre requête avant de passer la commande et voir les détails de tarification, utilisez le point de terminaison /v3/networkdesign/validate avec la même configuration du corps (Body).
Pour créer un VXC
-
Créez une requête avec le point de terminaison POST Create VXC to Azure (v3):
POST {baseUrl}/v3/networkdesign/buy -
Mettez à jour le corps (Body) de la requête avec le
productUiddu MVE, le nom du VXC, leproductUiddu port Azure, et définissez la clé de serviceinnerVlanà 501 etvNicIndexà 0 (interface 1).Remarque
Le numéro vNIC concerne les interfaces MVE suivantes:
- vNIC 0 = interface 1 sur le MVE
- vNIC 1 = interface 2 sur le MVE
- vNIC 2 = interface 3 sur le MVE
- vNIC 3 = interface 4 sur le MVE
- vNIC 4 = interface 5 sur le MVE
[
{
"productUid": "{{ mveid }}",
"associatedVxcs": [
{
"productName": "Link to Azure ",
"partnerConfigs": {
"connectType": "AZURE",
"serviceKey": "((azureServiceKey}}"
},
"rateLimit": 1000,
"term": 12,
"shutdown": false,
"promoCode": "promox3mnthfree2",
"aEnd": {
"vNicIndex":0,
"innerVlan": 501
},
"bEnd": {
"productUid": "{{ azurePortUid }}",
"innerVlan": 501
}
}
]
}
]
Après l’envoi de la requête, vous recevrez une réponse réussie lorsque le VXC aura été commandé.
Voici un exemple de réponse:
{
"message": "VXC [7f7c22f6-5cde-45d7-8603-f3546c714118] created.",
"terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
"data": [
{
"createDate": 1709822378799,
"vxcOrderId": 139947,
"payerMegaPortId": 190079,
"nonPayerMegaPortId": 53013,
"payerMegaPortName": "MVE for VNIC config",
"nonPayerMegaPortName": "London Primary",
"payerCompanyId": 1153,
"nonPayerCompanyId": 1475,
"payerLocationId": 89,
"nonPayerLocationId": 90,
"salesId": null,
"payerCompanyName": "Megaport Lab",
"nonPayerCompanyName": "Azure ExpressRoute",
"payerMegaPortNsId": 510708,
"nonPayerMegaPortNsId": 119129,
"payerVlanId": 0,
"nonPayerVlanId": 0,
"payerInnerVlanId": 501,
"nonPayerInnerVlanId": 501,
"payerApproverName": "name",
"payerApproverId": 41315,
"nonPayerApproverName": "name",
"nonPayerApproverId": number,
"payerApproval": number,
"nonPayerApproval": number,
"fixedTerm": true,
"duration": 1,
"rollover": true,
"serviceName": "from MVE for VNIC config to London Primary",
"payerStatus": "APPROVED",
"nonPayerStatus": "APPROVED",
"speed": 1000,
"distanceBand": "METRO",
"intercapPath": "",
"awsId": null,
"promoCode": null,
"dealUid": null,
"rateType": "MONTHLY",
"vxcJTechnicalServiceId": 190104,
"vxcJTechnicalServiceUid": "7f7c22f6-5cde-45d7-8603-f3546c714118",
"provisionDate": 1709822378782,
"orderType": "NEW",
"monthlyDiscountAmount": null,
"discountMonths": null,
"amazonDirectConnectConfigDto": null,
"amsixConnectConfigDto": null,
"sdrcProvItem": null,
"rate": null,
"setup": null,
"asn": null,
"bgpPassword": null,
"usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
"costCentre": null,
"azureServiceKey": "{{ azureServiceKey }}",
"oracleVirtualCircuitId": null,
"serviceKey": null,
"vxc": {
"serviceName": "Link to Azure ",
"name": "Link to Azure ",
"secondaryName": null,
"technicalServiceId": 190104,
"technicalServiceUid": "7f7c22f6-5cde-45d7-8603-f3546c714118",
"requestedDate": 1709822378782,
"configuredDate": null,
"currentEstimatedDelivery": null,
"companyName": "Megaport Lab",
"companyId": 1153,
"billingContactName": null,
"billingContactId": null,
"adminContactName": null,
"adminContactId": null,
"technicalContactName": null,
"technicalContactId": null,
"salesName": null,
"salesId": null,
"billableId": 181652,
"billableUsageAlgorithm": null,
"productType": "VXC",
"provisioningStatus": "DEPLOYABLE",
"failedReason": null,
"inAdvanceBillingStatus": null,
"provisioningItems": [],
"tags": [],
"vxcDistanceBand": "METRO",
"intercapPath": "",
"marketplaceVisibility": true,
"vxcPermitted": true,
"vxcAutoApproval": false,
"createDate": 1709822378792,
"terminationDate": null,
"contractStartDate": null,
"contractTermMonths": 1,
"rateType": "MONTHLY",
"trialAgreement": false,
"payerCompanyId": null,
"nonPayerCompanyId": null,
"minimumSpeed": null,
"maximumSpeed": null,
"rateLimit": 1000,
"errorMessage": null,
"lagId": null,
"aggregationId": null,
"lagPrimary": null,
"market": "UK",
"accountManager": null,
"promptUid": null,
"components": [],
"attributes": [],
"aLocation": null,
"bLocation": null,
"aMetro": null,
"aCountry": null,
"aLocationId": null,
"bLocationId": null,
"bMetro": null,
"bCountry": null,
"attributeTags": {},
"createdBy": "b0dedbd2-ecc7-4bad-a13b-6c34b4005115",
"buyoutPort": null,
"virtual": false,
"locked": false,
"adminLocked": false,
"bgpShutdownDefault": false,
"originDomain": null
},
"connectType": "AZURE",
"payerConfig": {},
"nonPayerConfig": {},
"attributeTags": {},
"serviceLicense": null,
"originDomain": null,
"fullyApproved": true
}
]
}
Multi-peering Microsoft (Q-in-Q)
Si vous ne souhaitez pas utiliser un VLAN de peering Azure unique et voulez utiliser Q-in-Q pour avoir plusieurs peerings Microsoft sur un seul VXC, spécifiez uniquement la valeur aEnd innerVlan.
Avec Q-in-Q, l’ID VLAN de peering Azure configuré dans Azure n’est pas affiché dans les APIs Megaport ou dans le Portal. Il est configuré par le client dans les peerings Azure ExpressRoute et correspond à la configuration de l’instance MVE.
Dans l’exemple ci-dessous, le champ aEnd innerVlan de 100 est en fait un VLAN externe ou s-tag sur le MVE. Le VLAN interne Q-in-Q (c-tag) exécuté à l’intérieur de l’innerVlan est transparent pour Megaport.
Remarque
Les VXC Azure sont le seul type de VXC cloud qui permet de spécifier un VXC double-tagged.
Voici un exemple de requête:
[
{
"productUid": "02ec2091-46bb-4904-bd17-96c752ff826e",
"associatedVxcs": [
{
"productName": "My New Azure VXC",
"partnerConfigs" : {
"connectType": "AZURE",
"serviceKey": "{{ service_key }}"
},
"rateLimit": 1000,
"term": 12,
"shutdown": false,
"aEnd": {
"innerVlan": 100
},
"bEnd": {
"productUid": "{{ azurepuid }}"
}
}
]
}
]