Pular para conteúdo

Criando um MCR VXC com a API

Este tópico descreve o procedimento da API para criar um MCR VXC. O primeiro exemplo cria uma AWS Hosted Connection no mercado dos EUA - uma das configurações mais complexas. Modelos para outros CSPs aparecem mais adiante no tópico.

Para obter mais informações, consulte POST Validate MCR VXC Order (v3) na referência da API.

Criando um VXC entre um MCR e a AWS com uma Hosted Connection

Este exemplo cria uma AWS Hosted Connection no mercado dos EUA. As etapas incluem como:

  • obter o ID do produto do MCR
  • encontrar o ID de localização para um mercado dos EUA disponível
  • validar e fazer o pedido do VXC
  • configurar duas rotas estáticas
  • configurar BGPBorder Gateway Protocol (BGP) é um protocolo de roteamento padronizado projetado para trocar informações de rotas e de alcançabilidade entre sistemas autônomos (AS) na internet.
    connections – uma conexão com MEDMulti-Exit Discriminator (MED) é um atributo de caminho do BGP que pode influenciar um vizinho BGP a escolher uma rota preferida quando o sistema autônomo (AS) anunciante é o mesmo para as rotas candidatas e há múltiplos pontos de entrada para esse AS. Uma métrica MED menor é preferida a uma maior.
    detalhes e uma sem.

Antes de começar, obtenha um token de acesso válido. Para obter mais informações, consulte Criando uma chave de API.

Para criar o VXC, precisamos do productUid do MCR.

Para obter o productUid do MCR

  1. Obtenha a lista de produtos.

    GET {baseUrl}/v2/products/
    
  2. A partir dos detalhes do produto retornados, localize o valor de productUid do MCR que você quer conectar.

    Este exemplo usa este valor: fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0

Em seguida, encontre o ID de localização para o mercado dos EUA desejado com suporte a AWS Hosted Connections.

Para encontrar o locationId no mercado dos EUA onde as AWS Hosted Connections estão disponíveis

  1. Obtenha a lista de todas as interfaces que a Megaport tem com os Cloud Service Providers.

    GET {baseUrl}/v2/dropdowns/partner/megaports
    

    Você pode filtrar os resultados por connectType e vxcPermitted.

    GET {baseUrl}/v2/dropdowns/partner/megaports?connectType=AWSHC&vxcPermitted=true
    
  2. Clique na lupa e pesquise na resposta por um site que corresponda aos seus critérios de localização.

    Para este exemplo, selecione “US West (Oregon) (us-west-2) [DZ-RED]” com “locationId”: 57.

{
            "connectType": "AWSHC",
            "productUid": "f274bd09-1796-43af-8837-28fa4fa2a1ab",
            "vxcPermitted": true,
            "companyUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
            "companyName": "AWS",
            "title": "US West (Oregon) (us-west-2) [DZ-RED]",
            "locationId": 57,
            "speed": 10000,
            "rank": 275,
            "lag_id": 5,
            "lag_primary": true,
            "aggregation_id": 106462
        },

Nota

[DZ-RED] significa zona de diversidade Red (vermelha). Cada site de AWS Hosted Connection fornece duas zonas de diversidade para fornecer redundância: DZ-Red e DZ-Blue.

Com o ID do MCR e o ID de localização da AWS, você pode criar um VXC.

Para criar o VXC

  1. Crie uma solicitação com esta URL:

    POST {baseUrl}/v3/networkdesign/buy
    

    Dica

    Para testar sua solicitação antes de fazer o pedido, você pode usar: POST {baseUrl}/v3/networkdesign/validate

  2. Adicione estes headers à solicitação:

    • Content-Type: application/json
    • Authorization: Bearer {your accessToken}
  3. Crie o Body da solicitação com os detalhes de configuração.

    Este exemplo usa o ID do produto MCR, o ID de localização AWS para o B-End, cria duas rotas estáticas e configura conexões BGP – uma conexão com detalhes MED e uma sem. As seções seguintes fornecem detalhes sobre as rotas estáticas e conexões BGP.

[
  {
    "productUid": "fee85cc0-f06f-4ad7-bce7-36aef7dbe0d0",
    "associatedVxcs": [
      {
        "rateLimit": 100,
        "productName": "awshc",
        "term": 12,
        "shutdown": false,
        "promoCode": "promox3mnthfree2",
        "aEnd": {
          "locationId": 320,
          "vlan": 0,
          "partnerConfig": {
            "connectType": "VROUTER",
            "interfaces": [
              {
                "vlan": null,
                "ipMtu": 5000,
                "ipAddresses": [
                  "10.191.0.25/29",
                ],
                "bgpConnections": [
                  {
                    "peerAsn": 62512,
                    "localIpAddress": "10.191.0.25",
                    "peerIpAddress": "10.191.0.26",
                    "password": "cnn6eaeaETSjvjvjvjv",
                    "importWhitelist": null,
                    "importBlacklist": null,
                    "exportWhitelist": null,
                    "exportBlacklist": null,
                    "shutdown": false,
                    "description": "BGP with MED and BFD enabled",
                    "medIn": 100,
                    "medOut": 100,
                    "bfdEnabled": true
                  },
                  {
                    "peerAsn": 62511,
                    "localIpAddress": "10.191.0.27",
                    "peerIpAddress": "10.191.0.28",
                    "password": "cnn23049asdkfj",
                    "importWhitelist": null,
                    "importBlacklist": null,
                    "exportWhitelist": null,
                    "exportBlacklist": null,
                    "shutdown": false,
                    "description": "BGP without MED or BFD",
                    "medIn": null,
                    "medOut": null,
                    "bfdEnabled": false
                  }
                ],
                "ipRoutes": [
                  {
                    "prefix": "10.0.0.0/24",
                    "nextHop": "10.191.0.26",
                    "description": "test static route 1"
                  },
                  {
                    "prefix": "10.0.1.9/24",
                    "nextHop": "10.191.0.27",
                    "description": "test static route 2"
                  }
                ],
                "natIpAddresses": []
              }
            ]
          }
        },
        "bEnd": {
          "locationId": 57,
          "ownerUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
          "productUid": "d5518ee1-e915-4e3d-a4e1-a2c7e04f2fdd",
          "vlan": 0,
          "partnerConfig": {
            "name": "awshc",
            "ownerAccount": "XXXXXXXXXXXX",
            "connectType": "AWSHC"
          }
        },
        "productType": "VXC",
        "connectType": "AWSHC"
      }
    ]
  }
]

Rotas estáticas

Você pode criar várias rotas estáticas por interface adicionando um array ipRoutes ao array de interfaces do objeto de configuração de parceiro do A-End:

"ipRoutes": [
  {
    "prefix": "10.0.0.0/24",
    "nextHop": "10.191.0.26",
    "description": "test static route 1"
  },
  {
    "prefix": "10.0.1.9/24",
    "nextHop": "10.191.0.27",
    "description": "test static route 2"
 }
],
Um array ipRoutes vazio indica que não há rotas estáticas.

Atributo Descrição Obrigatório Entrada Válida
prefix Prefixo IP (V4 & V6) para rotear para nextHop Sim Prefixo IP v4/v6 - Se nenhuma máscara for apresentada, o endereço é tratado como um endereço de host (/32)
nextHop Endereço do Next Hop Sim Endereço IP v4/v6 - Deve estar na mesma sub-rede que a interface, mas não o IP da interface
description Descrição opcional da rota estática Não String - Comprimento máximo de 100 caracteres

Conexões BGP

Você pode criar várias conexões BGP por interface adicionando um array bgpConnections ao array de interfaces do objeto de configuração de parceiro do A-End:

"bgpConnections": [
  {
    "peerAsn": 62512,
    "localIpAddress": "10.191.0.25",
    "peerIpAddress": "10.191.0.26",
    "password": "cnn6eaeaETSjvjvjvjv",
    "importWhitelist": null,
    "importBlacklist": null,
    "exportWhitelist": null,
    "exportBlacklist": null,
    "shutdown": false,
    "description": "BGP with MED and BFD enabled",
    "medIn": 100,
    "medOut": 100,
    "bfdEnabled": true
  },
  {
    "peerAsn": 62511,
    "localIpAddress": "10.191.0.27",
    "peerIpAddress": "10.191.0.28",
    "password": "cnn23049asdkfj",
    "importWhitelist": null,
    "importBlacklist": null,
    "exportWhitelist": null,
    "exportBlacklist": null,
    "shutdown": false,
    "description": "BGP without MED or BFD",
    "asPathPrependCount": "3",
    "bfdEnabled": false
  }
],
Atributo Descrição Obrigatório Entrada Válida
peerAsn O ASN do peer BGP remoto. Sim ASN válido - Inteiros entre 1 - 4294967294
localAsn O ASN local pode substituir o ASN do MCR para este peer BGP. Na maioria dos casos, deve ser deixado como padrão. Não ASN válido - Inteiros entre 1 - 4294967294

localAsn não pode ser definido se peerAsn == mcrAsn

localAsn não pode corresponder ao peerAsn se peerAsn != mcrAsn
localIpAddress O endereço IPv4 ou IPv6 nesta interface a ser usado para comunicação com o peer BGP. Sim Endereço IP válido v4/v6. Deve ser um endereço IP da interface
peerIpAddress O endereço IP do peer BGP. Sim Endereço IP válido v4/v6
password Uma chave compartilhada usada para autenticar o peer BGP, com até 32 caracteres. Não 0-32 caracteres
importWhitelist Filtragem de prefixo de entrada usando uma ação de permissão. O MCR aplica o filtro de prefixo aos anúncios de rota BGP de entrada do vizinho. Rotas que não correspondem aos prefixos nesta lista são negadas no ponto mais cedo possível e nunca são usadas pelo MCR. Não 1-100 caracteres
importBlacklist Filtragem de prefixo de entrada usando uma ação de negação. O MCR aplica o filtro de prefixo aos anúncios de rota BGP de entrada do vizinho. Rotas que correspondem aos prefixos nesta lista são bloqueadas. Todos os outros prefixos podem entrar na tabela de roteamento do MCR. Não 1-100 caracteres
exportWhitelist Filtragem de prefixo de saída usando uma ação de permissão. O MCR aplica o filtro de prefixo às rotas de saída. Rotas que correspondem à lista de prefixos são anunciadas ao vizinho BGP e todas as outras rotas são filtradas. Não 1-100 caracteres
exportBlacklist Filtragem de prefixo de saída usando uma ação de negação. O MCR aplica o filtro de prefixo às rotas de saída. Rotas que correspondem à lista de prefixos são bloqueadas do vizinho BGP e todas as outras rotas são anunciadas. Não 1-100 caracteres
shutdown Por padrão, as conexões BGP estão habilitadas e tentarão ativamente se conectar ao peer. Selecione shutdown para desabilitar temporariamente a sessão BGP sem removê-la. Isso pode ser útil para solução de problemas ou teste de cenários de failover. Não true/false - Padrão é false
description Descrição opcional da conexão BGP Não 0-100 caracteres
medIn O MED será aplicado a todas as rotas recebidas nesta conexão BGP. Deixe em branco para usar o valor recebido do peer BGP. A rota com o valor mais baixo será preferida. Não Suporta valores entre 0 e 4.294.967.295
medOut O MED será aplicado a todas as rotas transmitidas nesta conexão BGP. O sistema autônomo vizinho pode preferir o valor mais baixo a seu critério. Não Suporta valores entre 0 e 4.294.967.295
asPathPrependCount asPathPrependCount é um inteiro que representa o número de vezes que o número AS local será anexado aos anúncios BGP de saída para o peer. Não Valores aceitáveis estão no intervalo de 1-10
bfdEnabled Bidirectional Forwarding Detection permite detecção rápida de falhas nesta conexão BGP. Quando a conectividade é interrompida, a sessão BGP é encerrada sem esperar que o temporizador de espera do BGP expire. O BFD pode melhorar o tempo de failover quando várias rotas estão disponíveis. Não true/false -
Padrão é false
Opcional

Bidirectional Forwarding Detection (BFD)

O objeto de configuração bfd se aplica a todas as conexões BGP na interface que têm bfdEnabled = true.

As configurações BFD não são editáveis. Os valores padrão configurados quando o BFD está habilitado são:

  • Transmit IntervalO menor intervalo de tempo em que o vizinho BGP transmite pacotes BFD de detecção de vivacidade ao vizinho BGP.
    : 300 milissegundos
  • Receive IntervalO intervalo mínimo no qual o vizinho BGP envia pacotes BFD de detecção de vivacidade para a interface.
    : 300 milissegundos
  • MultiplierO número mínimo de pacotes BFD que podem ser perdidos antes que a sessão BGP seja considerada down.
    : 3

Nota

Essas configurações serão usadas para todas as conexões BGP no VXC onde o BFD estiver habilitado.

Autoconfiguração com AWS, Azure e Google

Para Azure, AWS Hosted VIF e Google, a Megaport pode configurar o endereçamento IP e os detalhes do BGP tanto no lado do MCR quanto no lado do CSP, garantindo uma configuração BGP funcional. Isso também minimiza a quantidade de alternância entre os portais do CSP e da Megaport.

Embora o Portal lide com a autoconfiguração por padrão, você também pode usar a API para acionar a autoconfiguração do BGP. A funcionalidade é acionada quando a chave de interfaces no partnerConfig não existe ou é null.

Para configurar peering BGP para CSPs

  1. Crie uma solicitação com esta URL:

    POST {baseUrl}/v3/networkdesign/buy
    
  2. Adicione estes headers à solicitação:

    • Content-Type: application/json
    • Authorization: Bearer {your accessToken}
  3. Crie o Body da solicitação com os detalhes de configuração.

    Diferentes templates estão disponíveis aqui para os CSPs mais populares.

AWS Hosted VIF

{
"productUid": "{{mcrid}}",
"associatedVxcs": [
 {
   "productName": "Test AWS VIF VXC",
   "rateLimit": 100,
   "term": 12,
   "aEnd": {
     "vlan": 0
   },
   "bEnd": {
     "productUid": "{{awsPortUid}}",
     "partnerConfig": {
       "connectType": "AWS",
       "type": "private",
       "ownerAccount": "{{yourAWSAccountNumber}}"
     }
   }
 }
]
}

Google Cloud

{
   "productUid": "{{mcrid}}",
   "associatedVxcs": [
    {
     "productName": "Test Google VXC",
     "rateLimit": 100,
     "term": 12,
     "aEnd": {
       "vlan": 0
     },
     "bEnd": {
       "productUid": "{{googlePortUid}}",
       "partnerConfig": {
         "connectType": "GOOGLE",
         "pairingKey": "{{googlekey}}"
       }
     },
     "productType": "VXC"
    }
   ]
}

Microsoft Azure

Para obter detalhes de configuração da Microsoft Azure, consulte Criando um VXC entre um MCR e a Microsoft Azure com a API.