Criando um VXC entre um MVE e a Microsoft Azure com a API
Este tópico descreve o processo para criar um VXC de uma MVE para o Microsoft Azure ExpressRoute. A configuração é um processo de duas etapas: primeiro é preciso procurar locais de interconexão da Azure com a chave de serviço da Azure, e depois criar o VXC.
Aviso
Antes de poder se conectar à Azure, você precisa configurar um circuito ExpressRoute no console da Azure. Após configurado, você receberá uma chave de serviço com detalhes de conexão. Para configurar a sua conexão do MVE à Azure, é preciso buscar os detalhes da chave de serviço e então criar VXCs para as portas da Azure.
O lançamento do MVE para a Azure inclui as seguintes tarefas:
-
Configurar um circuito ExpressRoute no console da Azure
Após lançado, você receberá uma chave de serviço. Ao validar a chave de serviço, você será apresentado a portas primárias e secundárias, e poderá escolher uma porta para a conexão. Você pode usar a chave novamente e criar outra conexão para a porta não usada.
Para mais informações, veja o tópico de ajuda Microsoft Tutorial: Criar e modificar um circuito ExpressRoute.
-
Validar a chave de serviço da Azure
Ao fazer o pedido de um serviço da Azure, use a chave de serviço e garanta que há uma porta livre para uma conexão.
A resposta da API inclui detalhes do ExpressRoute das portas e peers associados. Você precisará dos detalhes de porta da Azure para criar o VXC.
-
Criar e lançar um VXC
Com os detalhes de porta e chave de serviço validados, crie o VXC para a Microsoft Azure a partir do MVE.
Como parte da configuração do VXC, você pode escolher o tipo de peering. Ele pode ser privado ou Microsoft.
Um tipo de peering definido resulta em peering configurado automaticamente com peers correspondentes tanto do lado da Azure quanto da Megaport e um sistema lançado com uma configuração funcional conhecida. Você pode modificar a configuração após o lançamento.
Antes de começar, obtenha um token de acesso válido. Para mais informações, veja Criando uma Chave API.
Validar a chave de serviço
Use a API para validar uma chave de serviço da Microsoft Azure. A resposta inclui detalhes do ExpressRoute quanto a portas e peers associados. Você precisará dos detalhes de porta da Azure para criar o VXC.
Revise a chave de serviço e garanta que há uma Porta livre para uma conexão. Na resposta da API, portas disponíveis são listadas como"vxc":null
e portas com um valor designado não estão disponíveis.
Para mais informações sobre cada campo da resposta, veja Campos de resposta da Chave de Serviço da Azure.
Para validar a chave de serviço
-
Use a API GET Look Up Azure Service Key para pesquisar detalhes de locais da Microsoft Azure com a chave de serviço:
GET {baseUrl}/v2/secure/azure/{service_key}
A seguir há 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": 500,
"connectType": "AZURE",
"managed": false,
"megaports": [
{
"productId": 24581,
"productUid": "fece8275-86ec-4bbd-b328-67ddac6d852e",
"name": "Sydney Primary",
"nServiceId": 55860,
"description": "Azure ExpressRoute at Equinix SY1",
"companyId": 1475,
"companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
"companyName": "Azure ExpressRoute",
"portSpeed": 10000,
"locationId": 2,
"state": "NSW",
"country": "Australia",
"port": 24581,
"type": "primary",
"vxc": null
},
{
"productId": 24584,
"productUid": "13f28165-de96-484e-8f99-babb24650e6a",
"name": "Sydney Secondary",
"nServiceId": 55863,
"description": "Azure ExpressRoute at Equinix SY3",
"companyId": 1475,
"companyUid": "c40de5ed-4707-4471-a78c-69436de2c505",
"companyName": "Azure ExpressRoute",
"portSpeed": 10000,
"locationId": 6,
"state": "NSW",
"country": "Australia",
"port": 24584,
"type": "secondary",
"vxc": null
}
],
"peers": [],
"resource_type": "csp_connection",
"service_key": "197d927b-90bc-4b1b-bffd-fca17a7ec735",
"vlan": 3901
}
}
Criar e lançar umVXC
Com os detalhes da porta do Azure ExpressRoute obtidos com a busca da chave de serviço, crie o VXC para a Azure.
Você pode especificar os detalhes de configuração no corpo (Body) da solicitação. O primeiro productUid
identifica o MVE e o bEnd: productUid
identifica a interface da Azure. Você também deve providenciar a chave de serviço do Azure ExpressRoute no campo serviceKey
.
Dica
Procure por locais da Azure para a terminação B da conexão com o endpoint v2/dropdowns/partner/megaports
.
Você pode criar múltiplas conexões a uma interface da Azure se, por exemplo, você precisar conectar tanto peers privados quanto peers Microsoft à mesma interface.
VLAN única de peering da Azure (Single Azure Peering VLAN)
Neste exemplo uma VLAN única de peering da Azure (Single Azure Peering VLAN) é usada . É possível notar isso porque o aEnd innerVlan e o bEnd innerVlan estão especificados. Para a VLAN única de peering da Azure , os dois ficam definidos como o mesmo valor.
Se esse valor for definido como0
, uma VLAN interna válida será alocada e definida pelo sistema.
Dica
Para testar a sua solicitação antes de fazer o pedido e ver detalhes de preço, use o endpoint /v3/networkdesign/validate
com a mesma configuracaão do Body.
Para criar um VXC
-
Crie uma solicitação com o endpoint POST Create VXC to Azure (v3):
POST {baseUrl}/v3/networkdesign/buy
-
Atualize o Body da solicitação com o
productUid
do MVE, o nome do VXC, oproductUid
da porta da Azure, e a chave de serviço.Esta é uma solicitação de exemplo:
[
{
"productUid": "02ec2091-46bb-4904-bd17-96c752ff826e",
"associatedVxcs": [
{
"productName": "My New Azure VXC",
"partnerConfigs" : {
"connectType": "AZURE",
"serviceKey": "197d927b-90bc-4b1b-bffd-fca17a7ec735"
},
"rateLimit": 1000,
"term": 12,
"shutdown": false,
"aEnd": {
"innerVlan": 132
},
"bEnd": {
"productUid": "fece8275-86ec-4bbd-b328-67ddac6d852e",
"innerVlan": 132
}
}
]
}
]
Após enviar a solicitação, você receberá uma resposta de sucesso quando o VXC tiver sido encomendado.
Esta é uma resposta de exemplo:
{
"message": "VXC [6cf7199e-a273-4352-97f7-3a772bc492e4] created.",
"terms": "This data is subject to the Acceptable Use Policy. https://www.megaport.com/legal/acceptable-use-policy",
"data": [
{
"createDate": 1680246964379,
"vxcOrderId": 114015,
"payerMegaPortId": 155354,
"nonPayerMegaPortId": 24581,
"payerMegaPortName": "greg T",
"nonPayerMegaPortName": "Sydney Primary",
"payerCompanyId": 1153,
"nonPayerCompanyId": 1475,
"payerLocationId": 2,
"nonPayerLocationId": 2,
"salesId": null,
"payerCompanyName": "Megaport Lab",
"nonPayerCompanyName": "Azure ExpressRoute",
"payerMegaPortNsId": 397416,
"nonPayerMegaPortNsId": 55860,
"payerVlanId": 0,
"nonPayerVlanId": 0,
"payerInnerVlanId": 132,
"nonPayerInnerVlanId": 132,
"payerApproverName": "Greg Brown",
"payerApproverId": 50402,
"nonPayerApproverName": "Greg Brown",
"nonPayerApproverId": 50402,
"payerApproval": 1680246964333,
"nonPayerApproval": 1680246964362,
"fixedTerm": true,
"duration": 1,
"rollover": true,
"serviceName": "from greg T to Sydney Primary",
"payerStatus": "APPROVED",
"nonPayerStatus": "APPROVED",
"speed": 1000,
"distanceBand": "METRO",
"intercapPath": "",
"awsId": null,
"promoCode": null,
"dealUid": null,
"rateType": "MONTHLY",
"vxcJTechnicalServiceId": 155735,
"vxcJTechnicalServiceUid": "6cf7199e-a273-4352-97f7-3a772bc492e4",
"provisionDate": 1680246964320,
"orderType": "NEW",
"monthlyDiscountAmount": null,
"discountMonths": null,
"amazonDirectConnectConfigDto": null,
"amsixConnectConfigDto": null,
"webAirProvItem": null,
"sdrcProvItem": null,
"rate": null,
"setup": null,
"asn": null,
"bgpPassword": null,
"usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
"costCentre": null,
"azureServiceKey": "197d927b-90bc-4b1b-bffd-fca17a7ec735",
"oracleVirtualCircuitId": null,
"serviceKey": null,
"vxc": {
"serviceName": "My New Azure VXC",
"name": "My New Azure VXC",
"secondaryName": null,
"technicalServiceId": 155735,
"technicalServiceUid": "6cf7199e-a273-4352-97f7-3a772bc492e4",
"requestedDate": 1680246964320,
"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": 147640,
"billableUsageAlgorithm": null,
"productType": "VXC",
"provisioningStatus": "DEPLOYABLE",
"failedReason": null,
"inAdvanceBillingStatus": null,
"provisioningItems": [],
"tags": [],
"vxcDistanceBand": "METRO",
"intercapPath": "",
"marketplaceVisibility": true,
"vxcPermitted": true,
"vxcAutoApproval": false,
"createDate": 1680246964352,
"terminationDate": null,
"contractStartDate": null,
"contractTermMonths": 12,
"rateType": "MONTHLY",
"trialAgreement": false,
"payerCompanyId": null,
"nonPayerCompanyId": null,
"minimumSpeed": null,
"maximumSpeed": null,
"rateLimit": 1000,
"errorMessage": null,
"market": "Australia",
"accountManager": null,
"promptUid": null,
"components": [],
"attributes": [],
"aLocation": null,
"bLocation": null,
"aLocationId": null,
"bLocationId": null,
"attributeTags": {},
"createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
"buyoutPort": null,
"virtual": false,
"locked": false,
"adminLocked": false,
"bgpShutdownDefault": false,
"originDomain": null
},
"connectType": "AZURE",
"payerConfig": {},
"nonPayerConfig": {},
"attributeTags": {},
"serviceLicense": null,
"originDomain": null,
"fullyApproved": true
}
]
}
Múltiplos peerings Microsoft (Q-in-Q)
Se você não quiser usar a VLAN única de peering da Azure e quiser usar Q-in-Q para ter múltiplos peerings Microsoft em um único VXC, especifique apenas o valor aEnd innerVlan.
Com o Q-in-Q em jogo, a ID de VLAN de peering da Azure definida na Azure não será mostrada nas APIs da Megaport ou no Portal. Ela é configurada pelo cliente nos peerings do Azure ExpressRoute e combinada na configuração da instância do MVE.
No exemplo abaixo, o campo aEnd innerVlan de 100 é na verdade uma VLAN externa ou s-tag no MVE. A VLAN interna Q-in-Q (c-tag) rodando dentro do innerVlan é transparente para a Megaport.
Aviso
VXCs da Azure são o único tipo de VXC de nuvem que permite que você especifique um VXC com duas tags (double-tagged).
Esta é uma solicitação de exemplo:
[
{
"productUid": "02ec2091-46bb-4904-bd17-96c752ff826e",
"associatedVxcs": [
{
"productName": "Meu novo Azure VXC",
"partnerConfigs" : {
"connectType": "AZURE",
"serviceKey": "{{ service_key }}"
},
"rateLimit": 1000,
"term": 12,
"shutdown": false,
"aEnd": {
"innerVlan": 100
},
"bEnd": {
"productUid": "{{ azurepuid }}"
}
}
]
}
]