Criando um VXC entre um MVE e o Microsoft Azure com a API
Este tópico descreve o procedimento da API para criar um VXC de um MVE para o Microsoft Azure ExpressRoute. A configuração é um processo em duas etapas: primeiro, você consulta os locais de interconexão do Azure com a chave de serviço do Azure e, depois, pode criar o VXC para uma vNIC específica no seu MVE.
Nota
Antes de poder se conectar ao Azure, é necessário configurar um circuito ExpressRoute no console do Azure. Quando configurado, você recebe uma chave de serviço com os detalhes da conexão. Para configurar sua conexão do MVE com o Azure, consulte os detalhes da chave de serviço e, em seguida, crie VXCs para as portas do Azure.
A implantação do MVE para o Azure inclui estas tarefas:
-
Configurar um circuito ExpressRoute no console do Azure
Quando implantado, você obtém uma chave de serviço. Ao validar uma chave de serviço, são apresentadas as portas primária e secundária e você pode escolher a porta para a conexão. Você pode usar a chave uma segunda vez e criar outra conexão para a porta não utilizada.
Para obter mais informações, consulte o tópico de ajuda da Microsoft Tutorial: Create and modify an ExpressRoute circuit.
-
Validar a chave de serviço do Azure
Ao solicitar um serviço do Azure, use a chave de serviço e verifique se há uma porta livre para uma conexão.
A resposta da API inclui detalhes do ExpressRoute das portas e peers associados. Você precisa dos detalhes da porta do Azure para criar o VXC.
-
CCriar e implantar um VXC
Com a chave de serviço validada e os detalhes da porta, crie o VXC para o Microsoft Azure a partir do MVE.
Como parte da configuração do VXC, você pode escolher o tipo de Peering. O tipo de Peering pode ser privado ou Microsoft.
Um tipo de Peering definido resulta em Peering configurado automaticamente com peers correspondentes tanto no lado do Azure quanto no da Megaport e um sistema implantado com uma configuração funcional conhecida. Você pode modificar a configuração após a implantação.
Antes de começar, obtenha um token de acesso válido. Para obter mais informações, consulte Criando uma chave de API.
Validar a chave de serviço
Use a API para validar uma chave de serviço do Microsoft Azure. A resposta inclui detalhes do ExpressRoute das portas e peers associados. Você precisa dos detalhes da porta do Azure para criar o VXC.
Revise a chave de serviço e verifique se há um Port livre para uma conexão. Na resposta da API, as portas disponíveis são listadas como "vxc":null e as portas com um valor atribuído não estão disponíveis.
Para obter mais informações sobre cada campo de resposta, consulte Campos de resposta da chave de serviço do Azure.
Para validar a chave de serviço
-
Use a API GET Look Up Azure Service Key (GET Consultar Chave de Serviço do Azure) para consultar os detalhes de localização do Microsoft Azure com a chave de serviço:
GET {baseUrl}/v2/secure/azure/{service_key}
A seguir está um exemplo de resposta para uma chave de pareamento com uma porta disponível (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
}
}
Criar e implementar um VXC para uma vNIC específica
Com os detalhes da porta do Azure ExpressRoute da consulta de chave de serviço, crie o VXC para o Azure.
Você especifica os detalhes de configuração no Body da solicitação. O primeiro productUid identifica o MVE e o bEnd: productUid identifica a interface do Azure. Você também precisa fornecer a chave de serviço do Azure ExpressRoute no campo serviceKey.
Dica
Pesquise localizações do Azure para o B-End da conexão com o endpoint v2/dropdowns/partner/megaports.
Você pode criar várias conexões para uma interface do Azure, por exemplo, se precisar conectar peers privados e da Microsoft à mesma interface.
Single Azure Peering VLAN
Neste exemplo, Single Azure Peering VLAN é usado. Você pode perceber isso porque o innerVlan do aEnd e o innerVlan do bEnd são especificados. Para Single Azure Peering VLAN, ambos são definidos com o mesmo valor.
Se este valor for definido como 0, uma VLAN interna válida será alocada e definida pelo sistema.
Dica
Para testar sua solicitação antes de fazer o pedido e ver detalhes de preços, use o endpoint /v3/networkdesign/validate com a mesma configuração de Body.
Para criar um VXC
-
Crie uma solicitação com o endpoint POST Create VXC to Azure (v3) (POST Criar VXC para Azure (v3)):
POST {baseUrl}/v3/networkdesign/buy -
Atualize o Body da solicitação com o
productUiddo MVE, o nome do VXC, oproductUidda porta do Azure e defina a chave de serviçoinnerVlancomo 501 evNicIndexcomo 0 (interface 1).Nota
O número da vNIC corresponde às seguintes interfaces do MVE:
- vNIC 0 = interface 1 no MVE
- vNIC 1 = interface 2 no MVE
- vNIC 2 = interface 3 no MVE
- vNIC 3 = interface 4 no MVE
- vNIC 4 = interface 5 no 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
}
}
]
}
]
Após enviar a solicitação, você receberá uma resposta bem-sucedida quando o VXC tiver sido solicitado.
Aqui está um exemplo de resposta:
{
"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
}
]
}
Multiple Microsoft peerings (Q-in-Q)
Se você não quiser usar Single Azure Peering VLAN e quiser usar Q-in-Q para ter vários peerings da Microsoft em um único VXC, especifique apenas o valor innerVlan do aEnd.
Com Q-in-Q em uso, o ID de VLAN de peering do Azure definido no Azure não é mostrado nas APIs da Megaport ou no Portal. Ele é configurado pelo cliente nos peerings do Azure ExpressRoute e correspondido na configuração da instância do MVE.
No exemplo abaixo, o campo innerVlan do aEnd de 100 é na verdade uma vlan externa ou s-tag no MVE. A VLAN interna Q-in-Q (c-tag) executada dentro do innerVlan é transparente para a Megaport.
Nota
Azure VXCs são o único tipo de VXC em nuvem que permite especificar um VXC com double-tag.
Aqui está um exemplo de solicitação:
[
{
"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 }}"
}
}
]
}
]