Pular para conteúdo

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:

  1. 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.

  2. 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.

  3. 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

  1. Crie uma solicitação com o endpoint POST Create VXC to Azure (v3):

    POST {baseUrl}/v3/networkdesign/buy
    
  2. Atualize o Body da solicitação com o productUid do MVE, o nome do VXC, o productUid 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 }}"
     }
   }
 ]
 }
]