Pular para conteúdo

Criando um VXC entre um MVE e o Google Cloud com a API

Este tópico descreve o procedimento da API para criar um VXC de um MVE para os serviços do Google Cloud. A configuração é um processo em duas etapas: primeiro, você consulta os detalhes da conexão com a chave de pareamento do Google e, em seguida, cria o VXC para uma vNIC específica no seu MVE.

Nota

Antes de poder criar uma conexão com o Google Cloud, você precisa criar um attachment do Partner Interconnect no Google Cloud Console ou gcloud CLI. Como parte da criação do attachment, é fornecida uma chave de pareamento que contém os detalhes da conexão do Google.

A implantação do MVE para o Google Cloud inclui estas tarefas:

  1. Criar um attachment do Partner Interconnect no Google Cloud Console ou gcloud CLI

    Crie um attachment do Partner Interconnect no Google Cloud Console ou gcloud CLI. Copie a chave de pareamento fornecida como parte da criação do attachment. Para mais detalhes, consulte a documentação do Google em Google Partner Interconnects.

  2. Validar a chave de pareamento do Google

    Ao solicitar um serviço do Google Cloud, use a chave de pareamento e garanta que haja uma porta livre para uma conexão.

    O Google exige que a largura de banda no VXC corresponda a uma das larguras de banda predefinidas na lista retornada pela pesquisa da chave de pareamento.

  3. Criar e implementar um VXC

    Com a chave de pareamento validada e os detalhes da porta, crie o VXC para o Google Cloud a partir do MVE.

    Os detalhes de configuração são especificados no corpo da solicitaçã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 pareamento do Google

Use a API para validar uma chave de pareamento do Google Cloud. A resposta inclui detalhes das portas e dos pares associados. Você precisa dos detalhes da porta para criar o VXC.

Na resposta da API, as portas disponíveis são listadas como "vxc":null e portas com um valor atribuído não estão disponíveis.

O Google exige que a largura de banda no VXC corresponda a uma das larguras de banda predefinidas na lista retornada pela pesquisa da chave de pareamento.

Para validar a chave de pareamento

  • Use a API GET Look Up Google Pairing Key (Pesquisar Chave de Pareamento do Google) para pesquisar os detalhes de localidade do Google Cloud com a chave de pareamento:

    GET {baseUrl}/v2/secure/google/{pairing_key}

Aqui está uma resposta de exemplo 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": {
       "bandwidths": [
           50,
           100,
           200,
           300,
           400,
           500,
           1000,
           2000,
           5000,
           10000,
           20000,
           50000
       ],
       "megaports": [
           {
               "productId": 28845,
               "productUid": "5b693428-8cc6-4634-a44a-2e9e6ba556af",
               "name": "Stockholm (arn-zone1-208)",
               "nServiceId": 65391,
               "description": "Google inc.. at Interxion STO5",
               "companyId": 90,
               "companyUid": "29ba879b-45c8-48eb-bd97-618d0f20ea04",
               "companyName": "Google inc..",
               "portSpeed": 10000,
               "locationId": 98,
               "state": null,
               "country": "Sweden",
               "port": 28845,
               "vxc": null
           },
           {
               "productId": 45873,
               "productUid": "832a017d-74ca-45e8-a225-e3d794a079d7",
               "name": "Zurich (zrh-zone1-81)",
               "nServiceId": 103010,
               "description": "Google inc.. at Interxion ZH1",
               "companyId": 90,
               "companyUid": "{{ companyUid }}",
               "companyName": "Google inc..",
               "portSpeed": 10000,
               "locationId": 557,
               "state": null,
               "country": "Switzerland",
               "port": 45873,
               "vxc": null
           },
           {
               "productId": 81531,
               "productUid": "6e587057-f012-4600-896f-9ee171fdd444",
               "name": "Frankfurt (fra-zone1-683)",
               "nServiceId": 181786,
               "description": "Google inc.. at Equinix FR5",
               "companyId": 90,
               "companyUid": "{{ companyUid }}",
               "companyName": "Google inc..",
               "portSpeed": 100000,
               "locationId": 131,
               "state": null,
               "country": "Germany",
               "port": 81531,
               "vxc": null
           },
           {
               "productId": 84769,
               "productUid": "f25e581b-3c0e-4069-8147-78cce082357e",
               "name": "Amsterdam (ams-zone1-1236)",
               "nServiceId": 188925,
               "description": "Google inc.. at Equinix AM1",
               "companyId": 90,
               "companyUid": "29ba879b-45c8-48eb-bd97-618d0f20ea04",
               "companyName": "Google inc..",
               "portSpeed": 100000,
               "locationId": 85,
               "state": null,
               "country": "Netherlands",
               "port": 84769,
               "vxc": null
           },
           {
               "productId": 95335,
               "productUid": "9fde43f5-2f00-41ed-bb60-45c446ea43df",
               "name": "London (lhr-zone1-832)",
               "nServiceId": 217347,
               "description": "Google inc.. at Equinix LD5",
               "companyId": 90,
               "companyUid": "29ba879b-45c8-48eb-bd97-618d0f20ea04",
               "companyName": "Google inc..",
               "portSpeed": 100000,
               "locationId": 90,
               "state": null,
               "country": "United Kingdom",
               "port": 95335,
               "vxc": null
           },
           {
               "productId": 153623,
               "productUid": "ae8d21b5-2db6-4f72-a465-624c914f4918",
               "name": "Paris (cdg-zone1-1536)",
               "nServiceId": 391882,
               "description": "Google inc.. at Interxion PAR5",
               "companyId": 90,
               "companyUid": "29ba879b-45c8-48eb-bd97-618d0f20ea04",
               "companyName": "Google inc..",
               "portSpeed": 100000,
               "locationId": 527,
               "state": null,
               "country": "France",
               "port": 153623,
               "vxc": null
           },
           {
               "productId": 162678,
               "productUid": "7d1cca03-eb3d-4be4-a145-de8e8dffec3f",
               "name": "Frankfurt (fra-zone1-58)",
               "nServiceId": 420550,
               "description": "Google inc.. at Interxion FRA6",
               "companyId": 90,
               "companyUid": "29ba879b-45c8-48eb-bd97-618d0f20ea04",
               "companyName": "Google inc..",
               "portSpeed": 100000,
               "locationId": 130,
               "state": null,
               "country": "Germany",
               "port": 162678,
               "vxc": null
           }
       ],
       "resource_type": "csp_connection",
       "ports": [
           {
               "service_id": 38286,
               "vxc_service_ids": []
           },
           {
               "service_id": 65391,
               "vxc_service_ids": []
           },
           {
               "service_id": 103010,
               "vxc_service_ids": []
           },
           {
               "service_id": 125905,
               "vxc_service_ids": []
           },
           {
               "service_id": 154694,
               "vxc_service_ids": []
           },
           {
               "service_id": 181786,
               "vxc_service_ids": []
           },
           {
               "service_id": 188925,
               "vxc_service_ids": []
           },
           {
               "service_id": 217347,
               "vxc_service_ids": []
           },
           {
               "service_id": 391882,
               "vxc_service_ids": []
           },
           {
               "service_id": 420550,
               "vxc_service_ids": []
           }
       ]
   }
}

Criar e implementar um VXC para uma vNIC específica

Com a chave de emparelhamento validada e os detalhes da porta, crie o VXC para o Google Cloud a partir do MVE.

Você especifica os detalhes de configuração no Body da solicitação. O primeiro productUid identifica o ID do MVE e o bEnd: productUid identifica a localização do Google Cloud da chave de emparelhamento. Você também precisa fornecer sua chave de emparelhamento do Google na solicitação. Apenas a innerVlan do aEnd precisa ser especificada.

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 Google Cloud (v3) (POST Criar VXC para Google Cloud (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 Google Cloud, defina o vNicIndex como 2 (interface 3) e a chave de emparelhamento.

    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

    Aqui está um exemplo de solicitação:

[
{
 "productUid": "{{ mveid }}",
 "associatedVxcs": [
  {
   "productName": "VXC to test VNIC",
   "rateLimit": 100,
   "term": 12,
   "shutdown": false,
   "promoCode": "promox3mnthfree2",
   "aEnd": {
     "vNicIndex":2,
     "innerVlan": 144
   },
   "bEnd": {
     "productUid" : "{{ googleProductUid }}",
     "partnerConfig": {
       "connectType": "GOOGLE",
       "pairingKey": "{{ googlePairingKey }}"
     }
   }
  }
 ]
}
]

Depois de completar e implantar o VXC, volte ao Google Cloud Console e aceite o anexo.

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 [27139b23-0afe-4e48-9322-eea95d2d6b74] created.",
    "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
    "data": [
       {
           "createDate": 1709823461856,
           "vxcOrderId": 139952,
           "payerMegaPortId": 190079,
           "nonPayerMegaPortId": 95335,
           "payerMegaPortName": "MVE for VNIC config",
           "nonPayerMegaPortName": "London (lhr-zone1-832)",
           "payerCompanyId": 1153,
           "nonPayerCompanyId": 90,
           "payerLocationId": 89,
           "nonPayerLocationId": 90,
           "salesId": null,
           "payerCompanyName": "Megaport Lab",
           "nonPayerCompanyName": "Google inc..",
           "payerMegaPortNsId": 510708,
           "nonPayerMegaPortNsId": 217347,
           "payerVlanId": 0,
           "nonPayerVlanId": 0,
           "payerInnerVlanId": 144,
           "nonPayerInnerVlanId": null,
           "payerApproverName": "David Sloan",
           "payerApproverId": 41315,
           "nonPayerApproverName": "David Sloan",
           "nonPayerApproverId": 41315,
           "payerApproval": 1709823461831,
           "nonPayerApproval": 1709823461850,
           "fixedTerm": true,
           "duration": 1,
           "rollover": true,
           "serviceName": "from MVE for VNIC config to London (lhr-zone1-832)",
           "payerStatus": "APPROVED",
           "nonPayerStatus": "APPROVED",
           "speed": 100,
           "distanceBand": "METRO",
           "intercapPath": "",
           "awsId": null,
           "promoCode": null,
           "dealUid": null,
           "rateType": "MONTHLY",
           "vxcJTechnicalServiceId": 190111,
           "vxcJTechnicalServiceUid": "27139b23-0afe-4e48-9322-eea95d2d6b74",
           "provisionDate": 1709823461826,
           "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": null,
           "oracleVirtualCircuitId": null,
           "serviceKey": null,
           "vxc": {
               "serviceName": "VXC to test VNIC",
               "name": "VXC to test VNIC",
               "secondaryName": null,
               "technicalServiceId": 190111,
               "technicalServiceUid": "27139b23-0afe-4e48-9322-eea95d2d6b74",
               "requestedDate": 1709823461826,
               "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": 181659,
               "billableUsageAlgorithm": null,
               "productType": "VXC",
               "provisioningStatus": "DEPLOYABLE",
               "failedReason": null,
               "inAdvanceBillingStatus": null,
               "provisioningItems": [],
               "tags": [],
               "vxcDistanceBand": "METRO",
               "intercapPath": "",
               "marketplaceVisibility": true,
               "vxcPermitted": true,
               "vxcAutoApproval": false,
               "createDate": 1709823461844,
               "terminationDate": null,
               "contractStartDate": null,
               "contractTermMonths": 1,
               "rateType": "MONTHLY",
               "trialAgreement": false,
               "payerCompanyId": null,
               "nonPayerCompanyId": null,
               "minimumSpeed": null,
               "maximumSpeed": null,
               "rateLimit": 100,
               "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": "GOOGLE",
           "payerConfig": {},
           "nonPayerConfig": {},
           "attributeTags": {},
           "serviceLicense": null,
           "originDomain": null,
           "fullyApproved": true
       }
   ]
}