Pular para conteúdo

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:

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

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

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

  1. Crie uma solicitação com o endpoint POST Create VXC to Azure (v3) (POST Criar VXC para 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 do Azure e defina a chave de serviço innerVlan como 501 e vNicIndex como 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 }}"
     }
   }
 ]
 }
]