Como criar uma VPN de alta disponibilidade para um gateway de VPN de par

Esta página descreve como criar um gateway de VPN altamente disponível que se conecta a um gateway de VPN de par.

Os gateways de VPN de alta disponibilidade usam a API de VPN de alta disponibilidade e oferecem um SLA de 99,99%. Essa configuração usa um par de túnel, com um túnel em cada interface de gateway de VPN de alta disponibilidade.

Há dois componentes de gateway para configurar para a VPN de alta disponibilidade:

  • Um gateway de VPN de alta disponibilidade no Google Cloud.
  • Seu gateway ou gateways de VPN de par: um ou mais dispositivos de gateway de VPN física ou aplicativos de software na rede de par com que o gateway de VPN de alta disponibilidade se conecta. O gateway de par pode ser um gateway de VPN local ou hospedado por outro provedor de nuvem. É necessário criar um recurso de gateway de VPN externa no Google Cloud para cada dispositivo ou serviço de gateway de par.

Para ver os diagramas desta topologia, consulte a página Topologias.

Para mais informações sobre como escolher um tipo de VPN, consulte a seção Escolha de uma opção de VPN.

Antes de começar

  • Revise informações sobre como o roteamento dinâmico funciona no Google Cloud.
  • Certifique-se de que o gateway de VPN de par seja compatível com o BGP.

A configuração dos seguintes itens no Google Cloud facilita a configuração do Cloud VPN:

  1. Faça login na sua Conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do Cloud, na página de seletor de projetos, selecione ou crie um projeto do Cloud.

    Acessar a página do seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud. Saiba como confirmar se a cobrança está ativada para o seu projeto.

  4. Instale e inicialize o SDK do Cloud..
  1. Se você estiver usando comandos gcloud, defina o ID do projeto com o comando a seguir. As instruções do gcloud nesta página presumem que você tenha definido o ID do projeto antes de emitir comandos.

        gcloud config set project project-id
      
  1. É possível também ver um ID do projeto que já foi definido:
        gcloud config list --format='text(core.project)'
      

Tipos de redundância

A API de VPN de alta disponibilidade contém uma opção para REDUNDANCY_TYPE, que representa o número de interfaces que você configura para o recurso de gateway de VPN externa.

Os comandos gcloud inferem automaticamente os seguintes valores de REDUNDANCY_TYPE a partir do número de interfaces que você fornece no código da interface quando configura um recurso de gateway de VPN externa:

  • Uma interface de VPN externa é SINGLE_IP_INTERNALLY_REDUNDANT
  • Duas interfaces VPN externas são TWO_IPS_REDUNDANCY
  • Quatro interfaces VPN externas são FOUR_IPS_REDUNDANCY

Ao configurar gateways de VPN externos, você precisa usar os seguintes números de identificação de interface para o número indicado de interfaces de VPN externas:

  • Para uma interface de VPN externa, use um valor de 0.
  • Para duas interfaces de VPN externas, use os valores 0 e 1.
  • Para quatro interfaces VPN externas, use os valores 0, 1, 2 e 3.

Ao configurar um gateway de VPN de alta disponibilidade externo para a Amazon Web Services (AWS), a topologia aceita requer dois gateways privados virtuais da AWS, A e B, cada um com dois endereços IP públicos. Essa topologia gera quatro endereços IP públicos no total na AWS: A1, A2, B1 e B2.

  1. Configure os quatro endereços IP da AWS com um único gateway de VPN de alta disponibilidade externo com FOUR_IPS_REDUNDANCY, em que:
    • IP da AWS 0=A1
    • IP da AWS 1=A2
    • IP da AWS 2=B1
    • IP da AWS 3=B2
  2. Crie quatro túneis no gateway de VPN de alta disponibilidade para atender ao SLA de 99,99% usando a seguinte configuração:
    • Interface de VPN de alta disponibilidade 0 para interface da AWS 0
    • Interface de VPN de alta disponibilidade 0 para interface da AWS 1
    • Interface de VPN de alta disponibilidade 1 para interface da AWS 2
    • Interface de VPN de alta disponibilidade 1 para interface da AWS 3

Visão geral das etapas de configuração de alto nível da VPN de alta disponibilidade com a Amazon Web Services (AWS):

  1. Crie o gateway de VPN de alta disponibilidade e um Cloud Router. Isso cria dois endereços IP públicos no lado do GCP.
  2. Crie dois gateways privados virtuais da AWS. Isso cria quatro endereços públicos no lado da AWS.
  3. Crie duas conexões de VPN site a site da AWS e gateways do cliente, um para cada gateway privado virtual da AWS. Especifique um intervalo de IPs de túnel link-local não sobreposto para cada túnel, quatro no total. Por exemplo, 169.254.1.4/30.
  4. Faça o download dos arquivos de configuração da AWS em relação ao tipo de dispositivo genérico.
  5. Crie quatro túneis de VPN no gateway da VPN de alta disponibilidade.
  6. Configure sessões do BGP no Cloud Router usando os endereços IP do BGP dos arquivos de configuração da AWS baixados.

Como criar rede e sub-rede de nuvem privada virtual personalizadas

Antes de criar um gateway de VPN de alta disponibilidade e o par de túnel, você precisa criar uma rede de nuvem privada virtual e pelo menos uma sub-rede na região onde o gateway de VPN de alta disponibilidade residirá.

Os exemplos neste documento também usam modo de roteamento dinâmico global VPC para que todas as instâncias do Cloud Router apliquem as to on-premises rotas que aprendem a todas as sub-redes da rede VPC. No modo de roteamento global, as rotas para todas as sub-redes na rede VPC são compartilhados com os roteadores locais.

Como criar um gateway de VPN de alta disponibilidade e um par de túneis para uma VPN de par

Siga as instruções nesta seção para criar um gateway de VPN de alta disponibilidade, um par de túneis, um recurso de gateway de VPN de par e sessões do BGP.

Console

O assistente de configuração de VPN inclui todas as etapas de configuração necessárias para criar um gateway de VPN de alta disponibilidade, túneis, um recurso de gateway de VPN de par e sessões do BGP.

Criar um gateway do Cloud VPN

  1. Acesse a página VPN no Console do Google Cloud.
    Acesse a página VPN
    1. Se você estiver criando um gateway pela primeira vez, selecione o botão Criar conexão VPN.
    2. Selecione o assistente de configuração de VPN.
  2. Selecione o botão de opção para um gateway de VPN de alta disponibilidade.
  3. Clique em Continuar.
  4. Especifique um nome de gateway de VPN.
  5. Em rede VPC, selecione uma rede existente ou a rede padrão.
  6. Selecione uma Região.
  7. Clique em Criar e continuar.
  8. A tela do console é atualizada e exibe as informações de gateway. Dois endereços IP públicos são alocados automaticamente para cada uma das suas interfaces de gateway. Para etapas futuras de configuração, anote os detalhes da configuração do gateway.

Criar um recurso de gateway de VPN de par

O recurso de gateway de VPN de par representa seu gateway que não é do Google Cloud no Google Cloud.

  1. Na tela Criar uma VPN, em Gateway de VPN de par, selecione On-prem or Non-Google Cloud.
  2. Em nome de gateway de VPN de par, escolha um gateway de par ou clique em Criar um novo gateway de VPN de par. Se você escolher um gateway existente, o Console do Cloud selecionará o número de túneis a serem configurados com base no número de interfaces de par que você configurou no gateway de par. Para criar um novo gateway de par, conclua as seguintes etapas:
    1. Especifique um Nome para o gateway de VPN de par.
    2. Em interfaces de gateway de VPN de par, selecione as interfaces one, two ou four, dependendo do tipo de interface do seu gateway de par. Consulte a página Topologias para exemplos de cada tipo.
    3. No campo para cada interface de VPN de par, especifique o endereço IP público usado para essa interface. Para mais informações, consulte Configurando o gateway de VPN de par.
    4. Clique em Criar

Criar túneis de VPN

  • Se você configurou o recurso de gateway de VPN de par com uma interface, configure seu único túnel na caixa de diálogo de túnel de VPN única na tela Criar VPN. Você precisa criar um segundo túnel para um SLA de 99,99%.
  • Se você configurou o recurso de gateway de VPN de par com duas ou quatro interfaces, deverá configurar as caixas de diálogo associadas que aparecem na parte inferior da tela Criar VPN.
  1. Em Cloud Router, se você ainda não tiver feito isso, crie um Cloud Router especificando as opções a seguir. É possível usar um Cloud Router existente se o roteador ainda não gerenciar uma sessão do BGP para um anexo de interconexão associado a uma interconexão por parceiro.
    1. Para criar um novo Cloud Router, especifique um Nome, uma Descrição e um ASN do Google opcionais para o novo roteador. É possível usar qualquer ASN particular (64512 a 65534, 4200000000 a 4294967294) que não estiver usando em outro lugar em sua rede. O ASN do Google é usado para todas as sessões do BGP no mesmo Cloud Router e não é possível alterar o ASN posteriormente.
    2. Clique em Criar para criar o novo roteador.
  2. Se aplicável, em Interface do gateway de Cloud VPN associado, selecione a combinação da interface de VPN de alta disponibilidade e do endereço IP que quer associar à interface do gateway de VPN de par para este túnel.
  3. Em Interface de gateway de VPN de par associado, selecione a combinação de interface de gateway de VPN e de endereço IP que você quer associar a este túnel e com a interface de VPN de alta disponibilidade. Essa interface precisa corresponder à interface do seu roteador par real.
    1. Especifique um nome para o túnel.
    2. Especifique uma descrição opcional.
    3. Especifique a versão IKE. O IKE v2, a configuração padrão, é recomendado se o seu roteador par for compatível.
    4. Especifique uma chave IKE pré-compartilhada usando seu segredo compartilhado, que precisa corresponder ao segredo compartilhado do túnel de parceiro que você criar no gateway de par. Se você não tiver configurado uma chave secreta compartilhada no gateway de VPN de par e quiser gerar uma, clique no botão Gerar e copiar. Certifique-se de gravar a chave pré-compartilhada em um local seguro, porque ela não poderá ser recuperada depois que você criar os túneis de VPN.
    5. Clique em Concluído.
    6. Repita as etapas de criação do túnel para todas as caixas de diálogo de túnel restantes na tela Criar VPN.
  4. Quando você tiver configurado todos os túneis, clique em Criar e continuar.

Criar sessões do BGP

  1. Se você não quer configurar sessões do BGP agora, clique no botão Configurar sessões do BGP posteriormente, que abre a tela Resumo e lembrete.
  2. Se você quiser configurar as sessões do BGP agora, clique no botão Configurar para o primeiro túnel de VPN.
  3. Na tela Criar sessão do BGP, use as seguintes etapas:
    1. Especifique um nome para a sessão do BGP.
    2. Especifique o ASN de par configurado para o gateway de VPN de par.
    3. (Opcional) Especifique Prioridade de rota anunciada.
    4. Especifique o endereço IP do BGP do Cloud Router e o endereço IP de par do BGP. Cada um desses endereços precisa usar um endereço link-local do bloco CIDR 169.254.0.0/16 na mesma sub-rede /30. Verifique se esses endereços não são a rede ou o endereço de transmissão da sub-rede.
    5. (Opcional) Clique no menu suspenso Rotas anunciadas e crie rotas personalizadas.
    6. Clique em Salvar e continuar.
  4. Repita as etapas anteriores para o restante dos túneis configurados no gateway, usando um endereço IP do BGP do Cloud Router e um endereço IP do par do BGP para cada túnel.
  5. Depois de configurar todas as sessões do BGP, clique em Salvar configuração do BGP.

Resumo e lembrete

  1. A seção Resumo desta tela lista informações para o gateway de VPN de alta disponibilidade e o perfil de gateway de VPN de par.
  2. Para cada túnel de VPN, é possível visualizar status do túnel de VPN, o nome da sessão do BGP, o status da sessão do BGP e o valor MED (prioridade de rota anunciada).
  3. A seção Lembrete desta tela lista as etapas que você precisa concluir para ter uma conexão VPN totalmente operacional entre o Cloud VPN e sua VPN de par.
  4. Clique em Ok depois de analisar as informações nesta tela.

Crie um túnel adicional em um gateway de túnel único.

Siga as etapas desta seção para configurar um segundo túnel na segunda interface de um gateway de VPN de alta disponibilidade. Faça isso nas seguintes circunstâncias:

  • Quando você tiver configurado um gateway de VPN de alta disponibilidade para um gateway de VPN de par que tenha uma interface de VPN de par única.
  • Se você configurou um único túnel anteriormente em uma VPN de alta disponibilidade para um gateway de VPN de par que contém qualquer número de interfaces, mas agora quer um SLA com 99,99% de tempo de atividade para seu gateway de VPN de alta disponibilidade.

    1. Acesse a página VPN no Console do Google Cloud.
      Acesse a página VPN
    2. Clique no botão Criar túnel de VPN.
    3. No menu suspenso, selecione o gateway que requer o segundo túnel.
    4. Clique em Continuar.
    5. Escolha um Cloud Router. Se você não tiver configurado um Cloud Router, siga as etapas para criar um procedimento Criar túneis de VPN.
    6. Para o gateway de VPN de par, selecione On-prem ou Non Google Cloud.
    7. Para o nome do gateway de VPN de par, escolha o recurso do gateway de VPN de par que o novo túnel usará. É possível verificar os nomes de gateways de VPN existentes para esse gateway do Cloud VPN clicando no link Visualizar todos os túneis existentes no nome do gateway próximo ao topo da tela.
    8. É possível receber um aviso de que um túnel com a mesma interface de gateway de VPN de par já está associado à mesma interface de gateway local do Cloud VPN. Para corrigir esse problema, na interface do gateway de Cloud VPN associada, selecione a outra interface de VPN de alta disponibilidade.
    9. Configure o restante das etapas conforme listado no procedimento Criar túneis de VPN de par para concluir a configuração do túnel.

gcloud


Criar o gateway de VPN de alta disponibilidade

Conclua a seguinte sequência de comando para criar o gateway de VPN de alta disponibilidade:

  1. Crie um gateway de VPN de alta disponibilidade. Quando o gateway é criado, dois endereços IP externos são alocados automaticamente, um para cada interface de gateway.

    Nos comandos a seguir, substitua as seguintes opções:

    • Substitua network pelo nome da sua rede do Google Cloud.
    • Substitua a region pela região do Google Cloud, onde você precisa criar o gateway e o túnel.
    • Substitua gw-name pelo nome do gateway.
          gcloud compute vpn-gateways create gw-name \
            --network network \
            --region region
        

    O gateway criado precisa ser semelhante ao exemplo de saída a seguir. Um endereço IP público foi atribuído automaticamente a cada interface de gateway:

          Created [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnGateways/ha-vpn-gw-a].
          NAME        INTERFACE0    INTERFACE1   NETWORK   REGION
          ha-vpn-gw-a 203.0.113.16  203.0.113.23 network-a us-central1
        

Criar Cloud Router

  1. Conclua a sequência de comandos a seguir para criar um Cloud Router. Nos comandos a seguir, substitua as seguintes opções:

    • Substitua router-name pelo nome do Cloud Router na mesma região do gateway de Cloud VPN.
    • Substitua google-asn por qualquer ASN privado (64512 a 65534, 4200000000 até 4294967294) que você ainda não esteja usando na rede de par. O ASN do Google é usado para todas as sessões do BGP no mesmo Cloud Router e não é possível alterá-lo depois.
          gcloud compute routers create router-name \
            --region region \
            --network network \
            --asn google-asn
        

    O roteador criado precisa ser semelhante ao exemplo de saída a seguir:

          Created [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/routers/router-a].
          NAME      REGION      NETWORK
          router-a us-central1 network-a
        

Criar um recurso de gateway de VPN externa

Crie um recurso de gateway de VPN externa que forneça informações ao Google Cloud sobre seu gateway ou gateways de VPN de par. Dependendo das recomendações de alta disponibilidade para seu gateway de VPN de par, é possível criar um recurso de gateway de VPN externa para os seguintes tipos de gateways VPN locais:

  • Dois dispositivos de gateway de VPN de par nos quais os dois dispositivos são redundantes entre si e cada dispositivo tem seu próprio endereço IP público.
  • Um gateway de VPN de par único que usa duas interfaces separadas, cada uma com seu próprio endereço IP público. Para esse tipo de gateway de par, é possível criar um único gateway de VPN externa com duas interfaces.
  • Um gateway de VPN de par com um único endereço IP público.

Opção 1: criar um recurso de gateway de VPN externa para dois dispositivos de gateway de VPN de par separados

  1. Para esse tipo de gateway de par, cada interface do gateway de VPN externa tem um endereço IP público e cada endereço é de um dos dispositivos de gateway de VPN de par. No comando gcloud a seguir, substitua as seguintes opções:

    • Substitua peer-gw_name por um nome que represente o gateway de par.
    • Substitua peer-gw-ip-0 pelos endereços IP públicos de um gateway de par.
    • Substitua peer-gw-ip-1 pelo endereço IP público de outro gateway de par.
          gcloud compute external-vpn-gateways create peer-gw-name \
            --interfaces 0=peer-gw-ip-0,1=peer-gw-ip-1 \
        

    O recurso de gateway de VPN externa criado precisa ser semelhante ao seguinte exemplo, em que peer-gw-ip-0 e peer-gw-ip-1 mostram os endereços públicos reais do peer interfaces de gateway:

          Created [https://www.googleapis.com/compute/v1/projects/project-id/global/externalVpnGateways/peer-gw].
          NAME      INTERFACE0      INTERFACE1
          peer-gw   peer-gw-ip-0    peer-gw-ip-1
        

Opção 2: criar um recurso de gateway de VPN externa para um gateway de VPN de par com duas interfaces separadas

  1. Para esse tipo de gateway de par, crie um único gateway de VPN externa com duas interfaces. No comando gcloud a seguir, substitua as seguintes opções:

    • Substitua peer-gw-name por um nome que represente o gateway de par.
    • Substitua peer-gw-ip-0 pelo endereço IP público de uma interface do gateway de par.
    • Substitua peer-gw-ip-1 pelo endereço IP público de outra interface do gateway de par.

          gcloud compute external-vpn-gateways create peer-gw-name \
           --interfaces 0=on-prem-gw-ip-0,1=on-prem-gw-ip-1 \
          

      O recurso de gateway de VPN externa criado precisa ser semelhante ao seguinte exemplo, em que peer-gw-ip-0 e peer-gw-ip-1 mostram os endereços públicos reais do peer interfaces de gateway:

          Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw].
          NAME      INTERFACE0      INTERFACE1
          peer-gw   peer-gw-ip-0  peer-gw-ip-1
          

Opção 3: criar um recurso de gateway de VPN externa para um gateway de VPN de par com um único endereço IP público

  1. Para esse tipo de gateway de par, crie um gateway de VPN externa com uma interface. No comando gcloud a seguir, substitua as seguintes opções:

    • Substitua peer-gw-name por um nome que represente o gateway de par.
    • Substitua peer-gw-ip-0 pelo endereço IP público da interface do gateway de par.
          gcloud compute external-vpn-gateways create peer-gw-name \
            --interfaces 0=peer-gw-ip-0 \
        

    O recurso de gateway de VPN externa criado precisa ser semelhante ao seguinte exemplo, em que peer-gw-ip-0 mostra os endereços públicos reais da interface do gateway de terminal:

          Created [https://www.googleapis.com/compute/v1/projects/project-id/global/externalVpnGateways/peer-gw].
          NAME      INTERFACE0
          peer-gw   peer-gw-ip-0
        

Crie dois túneis de VPN, um para cada interface no gateway de VPN de alta disponibilidade

Ao criar túneis de VPN, especifique o lado de par dos túneis de VPN como o gateway de VPN externa criado anteriormente. Dependendo do tipo de redundância do gateway de VPN externa, configure os túneis usando uma das duas opções a seguir.

Opção 1: se o gateway de VPN externa for dois dispositivos de gateway de VPN de par ou um único dispositivo com dois endereços IP

  1. Nesse caso, um túnel de VPN precisa se conectar à interface 0 do gateway de VPN externa, e o outro túnel de VPN precisa se conectar à interface 1 do gateway de VPN externa.

    Nos comandos a seguir para criar cada túnel, substitua as seguintes opções:

    • Substitua tunnel-name-if0 e tunnel-name-if1 por um nome para o túnel. Nomear os túneis incluindo o nome da interface de gateway pode ajudar a identificar os túneis posteriormente.
    • Substitua gw-name pelo nome do gateway de VPN de alta disponibilidade.
    • (Opcional) O --vpn-gateway-region é a região do gateway de VPN de alta disponibilidade para operar. Seu valor precisa ser igual a --region. Se não for especificada, essa opção será definida automaticamente. Esta opção substitui o valor padrão da propriedade compute/region para esta invocação de comando.
    • Substitua peer-gw-name pelo nome do gateway de par externo criado anteriormente.
    • Substitua peer-ext-gw-if0 e peer-ext-gw-if1 pelo número da interface configurado anteriormente no gateway de par externo.
    • Substitua ike-vers por 1 para IKEv1 ou 2 para IKEv2. Se possível, use IKEv2 para a versão IKE. Se seu gateway de par exigir o IKEv1, substitua o --ike-version 2 com --ike-version 1.
    • Substitua shared-secret pelo segredo compartilhado, que precisa corresponder ao segredo compartilhado do túnel de parceiro que você criar no gateway de par. Consulte Como gerar uma chave pré-compartilhada forte para recomendações.
    • Substitua int-num-0 pelo número 0 para a primeira interface no gateway de VPN de alta disponibilidade que você criou anteriormente.
    • Substitua int-num-1 pelo número 1 da segunda interface no gateway de VPN de alta disponibilidade que você criou anteriormente.

            gcloud compute vpn-tunnels create tunnel-name-if0 \
              --peer-external-gateway peer-gw-name \
              --peer-external-gateway-interface peer-ext-gw-if0  \
              --region region \
              --ike-version ike-vers \
              --shared-secret shared-secret \
              --router router-name \
              --vpn-gateway gw-name \
              --interface int-num-0
          
           gcloud compute vpn-tunnels create tunnel-name-if1 \
              --peer-external-gateway peer-gw-name \
              --peer-external-gateway-interface peer-ext-gw-if1 \
              --region region \
              --ike-version ike-vers \
              --shared-secret shared-secret \
              --router router-name \
              --vpn-gateway gw-name \
              --interface int-num-1
          

      A resposta ao comando precisa ser semelhante ao exemplo a seguir:

            Created [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0].
            NAME                      REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
            tunnel-a-to-on-prem-if-0  us-central1  ha-vpn-gw-a    0               peer-gw        0
            Created [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1].
            NAME                      REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
            tunnel-a-to-on-prem-if-1  us-central1  ha-vpn-gw-a    1               peer-gw        1
          

Opção 2: se o gateway de VPN externa for um gateway de VPN de par com um único endereço IP público

  1. Nesse caso, os dois túneis de VPN precisam se conectar à interface 0 do gateway de VPN externa.

    Nos comandos a seguir para criar cada túnel, substitua as seguintes opções:

    • Substitua tunnel-name-if0 e tunnel-name-if1 por um nome para o túnel. Nomear os túneis incluindo o nome da interface de gateway pode ajudar a identificar os túneis posteriormente.
    • Substitua peer-gw-name pelo nome do gateway de par externo criado anteriormente.
    • Substitua peer-ext-gw-if0 pelo número da interface configurado anteriormente no gateway de par externo.
    • (Opcional) O --vpn-gateway-region é a região do gateway de VPN de alta disponibilidade para operar. Seu valor precisa ser igual a --region. Se não for especificada, essa opção será definida automaticamente. Esta opção substitui o valor padrão da propriedade compute/region para esta invocação de comando.
    • Substitua ike-vers por 1 para IKEv1 ou 2 para IKEv2. Se possível, use IKEv2 para a versão IKE. Se seu gateway de par exigir o IKEv1, substitua o --ike-version 2 com --ike-version 1.
    • Substitua shared-secret pelo segredo compartilhado, que precisa corresponder ao segredo compartilhado do túnel de parceiro que você criar no gateway de par. Consulte Como gerar uma chave pré-compartilhada forte para recomendações.
    • Substitua int-num-0 pelo número 0 para a primeira interface no gateway de VPN de alta disponibilidade que você criou anteriormente.
    • Substitua int-num-1 pelo número 1 da segunda interface no gateway de VPN de alta disponibilidade que você criou anteriormente.
          gcloud compute vpn-tunnels create tunnel-name-if0 \
            --peer-external-gateway peer-gw-name \
            --peer-external-gateway-interface peer-ext-gw-if0  \
            --region region \
            --ike-version ike-vers \
            --shared-secret shared-secret \
            --router router-name \
            --vpn-gateway gw-name \
            --interface int-num-0
        
          gcloud compute vpn-tunnels create tunnel-name_if1 \
            --peer-external-gateway peer-gw-name \
            --peer-external-gateway-interface [peer-ext-gw-if0] \
            --region region \
            --ike-version ike-vers \
            --shared-secret shared-secret \
            --router router-name \
            --vpn-gateway gw-name \
            --interface int-num-1
        

    A resposta ao comando precisa ser semelhante ao exemplo a seguir:

          Created [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0].
          NAME                      REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
          tunnel-a-to-on-prem-if-0  us-central1  ha-vpn-gw-a    0               peer-gw        0
          Created [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1].
          NAME                      REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
          tunnel-a-to-on-prem-if-1  us-central1  ha-vpn-gw-a    1               peer-gw        0
        

Crie interfaces do Cloud Router e pares do BGP

  1. Crie uma interface do BGP do Cloud Router e um par do BGP para cada túnel que você configurou anteriormente nas interfaces de gateway de VPN de alta disponibilidade.
    Nos comandos a seguir, substitua as seguintes opções:

    • Substitua router-interface-name-0 e router-interface-name-1 por um nome para a interface do BGP do Cloud Router. Pode ser útil usar nomes relacionados aos nomes de túnel configurados anteriormente.
    • Se você usar o método de configuração manual, substitua ip-address-0 e ip-address-1 com o endereço IP do BGP da interface de gateway de VPN alta disponibilidade configurada. Cada túnel usa uma interface de gateway diferente.
    • Use um mask-length de 30.
    • Substitua tunnel-name-0 e tunnel-name-1 pelo túnel associado à interface de gateway de VPN de alta disponibilidade que você configurou.

    Escolha o método de configuração automática ou manual para configurar interfaces do BGP e pares do BGP:

    Automático

    Para permitir que o Google Cloud escolha automaticamente os endereços IP do BGP de link local, siga as etapas abaixo.

    Para o primeiro túnel de VPN

    1. Adicione uma interface do BGP ao Cloud Router.

          gcloud compute routers add-interface router-name \
              --interface-name router-interface-name-0 \
              --mask-length mask-length \
              --vpn-tunnel tunnel-name-0 \
              --region region
          

      A resposta ao comando precisa ser semelhante ao exemplo a seguir:

          Updated [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/routers/router-a].
          
    2. Adicione um par do BGP à interface para o primeiro túnel. Substitua peer-name por um nome para a interface da VPN de par e peer-asn com o ASN configurado para o gateway de VPN de par.

          gcloud compute routers add-bgp-peer router-name \
              --peer-name peer-name \
              --peer-asn peer-asn \
              --interface router-interface-name-0 \
              --region region \
          

      A resposta ao comando precisa ser semelhante ao exemplo a seguir:

          Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
          

    Para o segundo túnel de VPN

    1. Adicione uma interface do BGP ao Cloud Router.

          gcloud compute routers add-interface router-name \
              --interface-name router-interface-name-1 \
              --mask-length mask-length \
              --vpn-tunnel tunnel-name-1 \
              --region region
          
    2. Adicione um par do BGP à interface para o segundo túnel. Substitua peer-name por um nome para a interface da VPN de par e peer-asn com o ASN configurado para o gateway de VPN de par.

          gcloud compute routers add-bgp-peer router-name \
              --peer-name peer-name \
              --peer-asn peer-asn \
              --interface router-interface-name-1 \
              --region region \
          

    Manual

    Para atribuir manualmente os endereços IP do BGP associados à interface e ao par do BGP do Google Cloud, use as seguintes etapas:

    1. Para cada túnel de VPN, escolha um par de endereços IP do BGP de link em um bloco /30 do intervalo 169.254.0.0/16 (quatro endereços no total). Para cada túnel, atribua um desses endereços IP do BGP ao Cloud Router e o outro endereço IP do BGP ao gateway de VPN de par. Você também precisa configurar seu dispositivo de VPN de par para usar o endereço IP do par do BGP. Use as seguintes opções nos comandos abaixo:
      • google-bgp-ip-0 representa o IP do BGP da interface do Cloud Router para o túnel na interface 0 de gateway da Cloud VPN. A on-prem-bgp-ip-0 representa o IP do BGP do seu par.
      • google-bgp-ip-1 representa o IP do BGP da interface do Cloud Router para o túnel na interface 1 de gateway da Cloud VPN. on-prem-bgp-ip-1 representa o IP do BGP do seu par.

    Para o primeiro túnel de VPN

    1. Adicione uma interface do BGP ao Cloud Router. Forneça um nome para a interface substituindo router-interface-name-0.

          gcloud compute routers add-interface router-name \
              --interface-name router-interface-name-0 \
              --vpn-tunnel tunnel-name-0 \
              --ip-address google-bgp-ip-0 \
              --mask-length 30 \
              --region region \
          

      A resposta ao comando precisa ser semelhante ao exemplo a seguir:

          Updated [https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/routers/router-a].
          
    2. Adicione um par BGP à interface. Substitua peer-name por um nome para o par e [PEER_ASN] com o ASN configurado para o gateway de VPN de par.

          gcloud compute routers add-bgp-peer router-name \
              --peer-name peer-name \
              --peer-asn peer-asn \
              --interface router-interface_name-0 \
              --peer-ip-address on-prem-bgp-ip-0 \
              --region region \
          

      A resposta ao comando precisa ser semelhante ao exemplo a seguir:

          Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
          

    Para o segundo túnel de VPN

    1. Adicione uma interface do BGP ao Cloud Router. Especifique um nome para a interface substituindo router-interface-name-1.

          gcloud compute routers add-interface router-name \
              --interface-name router-interface-name-1 \
              --vpn-tunnel tunnel-name-1 \
              --ip-address google-bgp-ip-1 \
              --mask-length 30 \
              --region region \
          
    2. Adicione um par BGP à interface. Substitua peer-name por um nome para o par e peer-asn com o ASN configurado para o gateway de VPN de par.

          gcloud compute routers add-bgp-peer router-name \
              --peer-name peer-name \
              --peer-asn peer-asn \
              --interface router-interface-name-1 \
              --peer-ip-address on-prem-bgp-ip-1 \
              --region region \
          

Verifique a configuração do Cloud Router

  1. Liste os endereços IP do BGP escolhidos pelo Cloud Router. Caso você tenha adicionado uma nova interface a um Cloud Router atual, os endereços IP do BGP para a nova interface precisarão ser listados com o maior número de índice. O endereço IP de par é o endereço IP do BGP que você precisa usar para configurar o gateway de VPN de par.

         gcloud compute routers get-status router-name \
             --region region \
             --format='flattened(result.bgpPeerStatus[].name,
               result.bgpPeerStatus[].ipAddress, result.bgpPeerStatus[].peerIpAddress)'
        

    Saída esperada para um Cloud Router que gerencia dois túneis do Cloud VPN (índice 0) e (índice 1) é semelhante ao exemplo a seguir, em que:

    • google-bgp-ip-0 representa o IP do BGP da interface do Cloud Router para o túnel na interface 0 de gateway da Cloud VPN. A on-prem-bgp-ip-0 representa o IP do BGP do seu par.
    • google-bgp-ip-1 representa o IP do BGP da interface do Cloud Router para o túnel na interface 1 do gateway de Cloud VPN e on-prem-bgp-ip-1 representa o IP do BGP do seu par.
        result.bgpPeerStatus[0].ipAddress:     169.254.0.1 [GOOGLE_BGP_IP_0]
        result.bgpPeerStatus[0].name:          bgp-peer-tunnel-a-to-on-prem-if-0
        result.bgpPeerStatus[0].peerIpAddress: 169.254.0.2 [ON_PREM_BGP_IP_0]
        result.bgpPeerStatus[1].ipAddress:     169.254.1.1 [GOOGLE_BGP_IP_1]
        result.bgpPeerStatus[1].name:          bgp-peer-tunnel-a-to-on-prem-if-1
        result.bgpPeerStatus[1].peerIpAddress: 169.254.1.2 [ON_PREM_BGP_IP_1]
        

    É possível também usar o seguinte comando para uma lista completa da configuração do Cloud Router:

        gcloud compute routers describe router-name \
            --region region
        

    A listagem completa precisa ter esta aparência:

        bgp:
          advertiseMode: DEFAULT
          asn: 65001
        bgpPeers:
        - interfaceName: if-tunnel-a-to-on-prem-if-0
          ipAddress: 169.254.0.1
          name: bgp-peer-tunnel-a-to-on-prem-if-0
          peerAsn: 65002
          peerIpAddress: 169.254.0.2
        - interfaceName: if-tunnel-a-to-on-prem-if-1
          ipAddress: 169.254.1.1
          name: bgp-peer-tunnel-a-to-on-prem-if-1
          peerAsn: 65004
          peerIpAddress: 169.254.1.2
        creationTimestamp: '2018-10-18T11:58:41.704-07:00'
        id: '4726715617198303502'
        interfaces:
        - ipRange: 169.254.0.1/30
          linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0
          name: if-tunnel-a-to-on-prem-if-0
        - ipRange: 169.254.1.1/30
          linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1
          name: if-tunnel-a-to-on-prem-if-1
          kind: compute#router
          name: router-a
          network: https://www.googleapis.com/compute/v1/projects/project-id/global/networks/network-a
          region: https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1
          selfLink: https://www.googleapis.com/compute/v1/projects/project-id/regions/us-central1/routers/router-a
        
  2. Para concluir a configuração do gateway, continue para Preenchimento da configuração.

API

Para criar a configuração completa de um gateway de VPN de alta disponibilidade. use os seguintes comandos da API.

ETAPA UM: para criar um gateway de alta disponibilidade, faça uma solicitação POST com o método vpnGateways.insert.

     POST https://www.googleapis.com/compute/v1/projects/project-id/regions/region/vpnGateways
     {
       "name": "ha-vpn-gw-a",
       "network": "https://www.googleapis.com/compute/v1/projects/project-id/global/networks/network-a"
     }
    

ETAPA DOIS: para criar o Cloud Router, faça uma solicitação POST com o método routers.insert:

     POST https://www.googleapis.com/compute/v1/projects/project-id/regions/region/routers
     {
       "name": "router-a",
       "network": "https://www.googleapis.com/compute/v1/projects/project-id/global/networks/network-a"
     }
    

É possível usar um Cloud Router existente, desde que o roteador ainda não gerencie uma sessão do BGP para um anexo de interconexão associado a uma interconexão por parceiro. Caso contrário, crie outro Cloud Router.

ETAPA TRÊS: para criar um recurso de gateway de VPN externa, faça uma solicitação POST com o método externalVpnGateways.insert.

  • Para um gateway de VPN externa (par) que tenha uma interface, use o exemplo abaixo, mas especifique apenas um código de interface e um ipAddress, com redundancyType de SINGLE_IP_INTERNALLY_REDUNDANT.
  • Para um gateway de VPN externa com duas interfaces ou dois gateways de VPN externos com uma interface cada, use o exemplo TWO_IPS_REDUNDANCY abaixo.
  • Para um ou mais gateways de VPN externas com quatro interfaces VPN externas; por exemplo, Amazon Web Services (AWS), use o exemplo abaixo, mas especifique quatro instâncias do código da interface e ipAddress e use um redundancyType de FOUR_IPS_REDUNDANCY.

     POST https://www.googleapis.com/compute/v1/projects/project-id/global/externalVpnGateways
     {
       "name": "my-peer-gateway",
       "interfaces": [
         {
           "id": 0,
           "ipAddress": "192.0.2.1"
         },
         {
           "id": 1,
           "ipAddress": "192.0.2.2"
         }
       ],
       "redundancyType": "TWO_IPS_REDUNDANCY"
     }
    

ETAPA QUATRO: para criar dois túneis de VPN, um para cada interface no gateway de VPN de alta disponibilidade, faça uma solicitação POST com o método vpnTunnels.insert.

Digite o seguinte comando para criar o primeiro túnel:

     POST https://www.googleapis.com/compute/v1/projects/project-id/regions/region/vpnTunnels
     {
       "name": "ha-vpn-gw-a-tunnel-0",
       "ikeVersion": 2,
       "peerExternalGateway": "https://www.googleapis.com/compute/v1/projects/project-id/global/external-vpn-gateways/my-peer-gateway",
       "peerExternalGatewayInterface": 0,
       "peerIp": "192.0.2.1",
       "router": "https://www.googleapis.com/compute/v1/projects/project-id/regions/region/routers/router-a",
       "sharedSecret": "shared_secret",
       "vpnGateway": "https://www.googleapis.com/compute/v1/projects/project-id/regions/region/vpn-gateways/ha-vpn-gw-a",
       "vpnGatewayInterface": 0
     }
    

Para criar o segundo túnel, repita este comando, mas altere os seguintes parâmetros:

  • name
  • peerExternalGatewayInterface
  • peerIp
  • sharedSecret ou sharedSecretHash (se necessário)
Altere vpnGatewayInterface para o valor da outra interface de gateway de VPN de alta disponibilidade. Neste exemplo, você alteraria esse valor para 1.

ETAPA CINCO: para criar uma interface do BGP do Cloud Router, faça uma solicitação PATCH ou UPDATE com o método routers.patch ou o routers.update. PATCH atualiza somente os parâmetros que você inclui. UPDATE atualiza todos os parâmetros do Cloud Router.

Crie uma interface do BGP para cada túnel de VPN no primeiro gateway de VPN de alta disponibilidade. Para a segunda interface do BGP, use um nome diferente name, linkedVpnTunnel e ipRange da mesma sub-rede /30 que o ipRange para o primeiro túnel. Repita esta etapa e o comando para cada túnel de VPN no segundo gateway de VPN de alta disponibilidade.

     PATCH https://www.googleapis.com/compute/v1/projects/project-id/regions/region/routers/{resourceId}
     {
       "interfaces": [
         {
           "name": "if-tunnel-a-to-on-prem-if-0",
           "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
           "ipRange": "169.254.0.1/30"
          }
        ]
     }
    

ETAPA SEIS: para adicionar um BGP no Cloud Router para um túnel de VPN, faça uma solicitação POST com o método routers.insert. Repita esse comando para o outro túnel de VPN, alterando todas as opções, exceto name e peerAsn.

     POST https://www.googleapis.com/compute/v1/projects/project-id/regions/region/routers
     {
       "name": "router-a",
       "network": "network-a",
       "bgpPeers": [
       {
         "interfaceName": "if-tunnel-a-to-on-prem-if-0",
         "ipAddress": "169.254.0.1",
         "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
         "peerAsn": "65002",
         "peerIpAddress": "169.254.0.2",
         "advertiseMode": "DEFAULT"
        }
      ]
     }
    

ETAPA SETE: verifique a configuração do Cloud Router com o método routers.getRouterStatus, usando um corpo de solicitação vazio:

    POST https://www.googleapis.com/compute/v1/projects/project-id/regions/region/routers
    

Como concluir a configuração

É necessário seguir estas etapas para usar um novo gateway do Cloud VPN e os túneis de VPN associados:

  1. Configure o gateway de VPN de par e configure o túnel ou os túneis correspondentes. Consulte estas páginas:
  2. Configure regras de firewall no Google Cloud e em sua rede de par conforme necessário. Consulte a página de regras de firewall para sugestões.
  3. Verifique o status dos túneis de VPN.

A seguir