Criar conexões de VPN de alta disponibilidade entre o Google Cloud e a AWS

Neste tutorial, demonstramos como criar conexões VPN altamente disponíveis entre o Google Cloud e a Amazon Web Services (AWS) para comunicação direta entre redes VPC nas duas plataformas de nuvem.

Neste tutorial, pressupomos que você esteja familiarizado com os conceitos básicos de redes de nuvem privada virtual (VPC), protocolo de gateway de borda (BGP), redes privadas virtuais (VPNs) e túneis de IPsec.

O Google Cloud oferece um serviço de VPN de alta disponibilidade para conectar sua rede VPC a ambientes em execução fora do Google Cloud, como no local ou na AWS por meio de uma conexão VPN IPsec. A VPN de alta disponibilidade fornece um SLA de 99,99% de disponibilidade de serviço quando configurada com base nas práticas recomendadas do Google. Para mais informações, consulte o Contrato de nível de serviço (SLA) do Cloud VPN.

Visão geral da arquitetura

A arquitetura descrita nesta página inclui os seguintes componentes:

  • Cloud Router: um serviço do Google Cloud totalmente distribuído e gerenciado para fornecer roteamento dinâmico usando o BGP para suas redes VPC.
  • Gateway de VPN de alta disponibilidade: um gateway de VPN gerenciado pelo Google em execução no Google Cloud. Cada gateway de VPN de alta disponibilidade é um recurso regional que tem duas interfaces, cada uma com os próprios endereços IP externos: interface 0 e 1.
  • Túneis de VPN: conexões do gateway de VPN de alta disponibilidade para o gateway de VPN de peering na AWS por meio do qual o tráfego criptografado passa.
  • Gateway de VPN de peering: dois endpoints de VPN site a site da AWS, que podem ser de um gateway particular virtual da AWS ou de um gateway de trânsito da AWS. Para mais informações, consulte O que é a VPN site a site da AWS?

Cada uma das conexões de gateway de VPN de peering vem com dois túneis pré-configurados para apontar para um único gateway de cliente, que, neste caso, é uma interface de VPN de alta disponibilidade do Google Cloud. Com essa configuração, o número mínimo de túneis para atender ao SLA de disponibilidade de serviço de 99,99% é quatro.

As opções de roteamento e a largura de banda combinada nos túneis de VPN variam de acordo com a opção VPN site a site usada no AWS:

O diagrama a seguir mostra a arquitetura.

Visão geral da arquitetura:

Objetivos

  • Crie uma rede VPC no Google Cloud.
  • Crie um gateway de VPN de alta disponibilidade e o Cloud Router no Google Cloud.
  • Crie gateways de clientes na AWS.
  • Crie uma conexão VPN com roteamento dinâmico na AWS.
  • Crie um gateway de VPN externo e túneis de VPN no Google Cloud.
  • Verifique e teste a conexão VPN entre as redes VPC no Google Cloud e na AWS.

Exemplo de módulo do Terraform

É possível usar o módulo gcp-to-aws-ha-vpn-terraform-module para provisionar a VPN de alta disponibilidade entre o Google Cloud e a AWS.

Custos

Neste tutorial, há componentes faturáveis do Google Cloud, entre eles:

Para ver uma estimativa dos custos dos componentes do Google Cloud, use a calculadora de preços do Google Cloud.

Neste tutorial, há componentes faturáveis do Amazon Web Services, incluindo:

  • Gateway da AWS Transit
  • VPN site a site da AWS

Para ter uma estimativa dos custos dos componentes da AWS, use a calculadora de preços dessa solução.

Antes de começar

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the Compute Engine API.

    Enable the API

  4. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  5. Verifique se você tem os papéis administrativos necessários para configurar os componentes de rede:

    • Administrador de rede: compute.networkAdmin
    • Administrador de segurança: compute.securityAdmin
    • Administrador do Compute: compute.admin

    Para mais informações sobre os objetivos desses papéis, consulte Papéis do IAM para funções de jobs relacionados a redes.

Criar o gateway de VPN de alta disponibilidade e o Cloud Router no Google Cloud

Nesta seção, você cria uma rede VPC, um gateway de VPN de alta disponibilidade e um Cloud Router no Google Cloud.

  1. No Cloud Shell, verifique se você está trabalhando no projeto do Google Cloud criado ou selecionado.

    gcloud config set project YOUR_PROJECT_ID
    
    export PROJECT_ID=`gcloud config list --format="value(core.project)"`

    Substitua YOUR_PROJECT_ID pelo ID do projeto do Google Cloud.

  2. Para criar uma rede VPC personalizada com uma única sub-rede, use o comando gcloud compute networks create:

    gcloud compute networks create NETWORK \
        --subnet-mode SUBNET_MODE \
        --bgp-routing-mode BGP_ROUTING_MODE

    Substitua:

    Por exemplo, o comando a seguir cria uma rede VPC personalizada chamada gc-vpc com uma única sub-rede:

    gcloud compute networks create gc-vpc \
        --subnet-mode custom \
        --bgp-routing-mode global
    
  3. Para criar uma sub-rede para hospedar as VMs de teste, use o comando gcloud compute networks subnets create:

    gcloud compute networks subnets create SUBNET_NAME \
        --network NETWORK \
        --region SUBNET_REGION \
        --range IP_ADDRESS_RANGE

    Substitua:

    • SUBNET_NAME: o nome da sub-rede
    • SUBNET_REGION: a região em que a sub-rede será criada.
    • IP_ADDRESS_RANGE: o intervalo de endereços IP da sub-rede

      Por exemplo, o comando a seguir cria uma sub-rede chamada subnet-east4 na rede VPC gc-vpc.

    gcloud compute networks subnets create subnet-east4  \
        --network gc-vpc \
        --region us-east4 \
        --range 10.1.1.0/24
    
  4. Para criar um gateway de VPN de alta disponibilidade, use o comando gcloud compute vpn-gateways create:

    gcloud compute vpn-gateways create HA_VPN_GATEWAY_NAME \
        --network NETWORK \
        --region REGION

    Substitua HA_VPN_GATEWAY_NAME pelo nome do gateway de VPN de alta disponibilidade.

  5. Para criar um Cloud Router, use o comando gcloud compute routers create:

    gcloud compute routers create ROUTER_NAME \
        --region REGION \
        --network NETWORK \
        --asn GOOGLE_ASN \
        --advertisement-mode custom \
        --set-advertisement-groups all_subnets

    Substitua:

    • ROUTER_NAME: o nome do seu Cloud Router.
    • GOOGLE_ASN: o ASN particular (número de sistema autônomo) do Cloud Router que você está criando. Pode ser qualquer ASN privado no intervalo 64512-65534 ou 4200000000-4294967294 que você ainda não esteja usando como um ASN de mesmo nível na mesma região e rede.

    Por exemplo, o comando a seguir cria um Cloud Router chamado cloud-router.

    gcloud compute routers create cloud-router \
        --region us-east4 \
        --network gc-vpc \
        --asn 65534 \
        --advertisement-mode custom \
        --set-advertisement-groups all_subnets
    

Para criar um gateway de VPN com duas interfaces, anote os endereços IP externo. Você vai precisar desses endereços ao configurar o ambiente na AWS.

Criar gateways e conexões VPN na AWS

Nesta seção, você criará gateways de clientes, um gateway de destino e conexões de VPN com roteamento dinâmico.

Você executa comandos da AWS usando a interface de linha de comando da AWS.

  1. Para criar dois gateways de cliente usando o seguinte comando da AWS, use o comando create-customer-gateway AWS CLI:

    aws ec2 create-customer-gateway --type ipsec.1 --public-ip INTERFACE_0_IP_ADDRESS --bgp-asn GOOGLE_ASN
    
    aws ec2 create-customer-gateway --type ipsec.1 --public-ip INTERFACE_1_IP_ADDRESS --bgp-asn GOOGLE_ASN

    Substitua INTERFACE_0_IP_ADDRESS e INTERFACE_1_IP_ADDRESS pelos endereços IP externo da etapa final da seção anterior.

  2. Para criar um gateway de destino e anexá-lo à sua VPC da Amazon, faça o seguinte:

    O gateway de destino pode ser um gateway particular virtual ou um gateway de trânsito. Para mais informações, consulte Criar um gateway de destino.

    Gateway particular virtual

    1. Crie um gateway particular virtual com um ASN específico da AWS usando o comando create-vpn-gateway da AWS CLI:

      aws ec2 create-vpn-gateway --type ipsec.1 --amazon-side-asn AWS_SIDE_ASN

      Substitua AWS_SIDE_ASN pelo ASN do lado da AWS.

      Esse comando será semelhante ao exemplo a seguir:

      aws ec2 create-vpn-gateway --type ipsec.1 --amazon-side-asn 65001
      
    2. Anexe o gateway particular virtual à rede VPC usando o comando attach-vpn-gateway da AWS CLI:

      aws ec2 attach-vpn-gateway --vpn-gateway-id VPN_GATEWAY_ID --vpc-id VPC_ID

    Gateway de transporte público

    1. Crie um gateway de trânsito usando o comando create-transit-gateway da AWS CLI:

      aws ec2 create-transit-gateway --description TRANSIT_GATEWAY_DESCRIPTION \
          --options=AmazonSideAsn=65001,AutoAcceptSharedAttachments=enable,DefaultRouteTableAssociation=enable,DefaultRouteTablePropagation=enable,VpnEcmpSupport=enable,DnsSupport=enable

      Substitua TRANSIT_GATEWAY_DESCRIPTION por uma descrição do gateway de transporte público.

    2. Anexe a rede VPC ao gateway de trânsito usando o comando create-transit-gateway-vpc-attachment da AWS CLI:

      aws ec2 create-transit-gateway-vpc-attachment \
          --transit-gateway-id TRANSIT_GATEWAY_ID \
          --vpc-id VPC_ID \
          --subnet-ids "SUBNET_ID"

      Substitua:

      • TRANSIT_GATEWAY_ID: o ID do gateway de transporte público
      • VPC_ID: o ID da VPC
      • SUBNET_ID: os IDs de uma ou mais sub-redes.
  3. Para criar uma conexão VPN com roteamento dinâmico, faça o seguinte:

    O método para criar uma conexão VPN com roteamento dinâmico é diferente se o gateway de destino é um gateway privado virtual ou um gateway de trânsito. Para mais informações, consulte Criar uma conexão VPN.

    Gateway particular virtual

    Crie uma conexão VPN com roteamento dinâmico entre o gateway particular virtual e os gateways do cliente e aplique tags à conexão da VPN:

        aws ec2 create-vpn-connection \
            --type ipsec.1 \
            --customer-gateway-id CUSTOMER_GATEWAY_1 \
            --vpn-gateway-id VPN_GATEWAY_ID \
            --options TunnelOptions='[{TunnelInsideCidr=AWS_T1_IP,PreSharedKey=SHARED_SECRET_1},{TunnelInsideCidr=AWS_T2_IP,PreSharedKey=SHARED_SECRET_2}]'
    
        aws ec2 create-vpn-connection \
            --type ipsec.1 \
            --customer-gateway-id CUSTOMER_GATEWAY_2 \
            --vpn-gateway-id VPN_GATEWAY_ID \
            --options TunnelOptions='[{TunnelInsideCidr=AWS_T3_IP,PreSharedKey=SHARED_SECRET_3},{TunnelInsideCidr=AWS_T4_IP,PreSharedKey=SHARED_SECRET_4}]'

    Substitua:

    • CUSTOMER_GATEWAY_1: gateway do Google Cloud VPN, interface 0
    • CUSTOMER_GATEWAY_2: gateway do Google Cloud VPN, interface 1
    • AWS_T1_IP: endereço IP interno do gateway virtual virtual para a conexão 1, túnel 1
    • AWS_T2_IP: endereço IP interno do gateway particular virtual da conexão 1, túnel 2
    • AWS_T3_IP: endereço IP interno do gateway particular virtual da conexão 2, túnel 1
    • AWS_T4_IP: endereço IP interno do gateway particular virtual para a conexão 2, túnel 2
    • SHARED_SECRET_1: chave pré-compartilhada para conexão 1, túnel 1
    • SHARED_SECRET_2: chave pré-compartilhada para conexão 1, túnel 2
    • SHARED_SECRET_3: chave pré-compartilhada para conexão 2, túnel 1
    • SHARED_SECRET_4: chave pré-compartilhada para conexão 2, túnel 2

    Gateway de transporte público

    Crie uma conexão VPN com roteamento dinâmico entre o gateway do transporte público e os gateways do cliente:

    aws ec2 create-vpn-connection \
        --type ipsec.1 \
        --customer-gateway-id CUSTOMER_GATEWAY_1 \
        --transit-gateway-id TRANSIT_GATEWAY_ID \
        --options TunnelOptions='[{TunnelInsideCidr=AWS_T1_IP,PreSharedKey=SHARED_SECRET_1},{TunnelInsideCidr=AWS_T2_IP,PreSharedKey=SHARED_SECRET_2}]'
    
    aws ec2 create-vpn-connection \
        --type ipsec.1 \
        --customer-gateway-id CUSTOMER_GATEWAY_2 \
        --transit-gateway-id TRANSIT_GATEWAY_ID \
        --options TunnelOptions='[{TunnelInsideCidr=AWS_T3_IP,PreSharedKey=SHARED_SECRET_3},{TunnelInsideCidr=AWS_T4_IP,PreSharedKey=SHARED_SECRET_4}]'

    Substitua:

    • CUSTOMER_GATEWAY_1: gateway do Google Cloud VPN, interface 0
    • CUSTOMER_GATEWAY_2: gateway do Google Cloud VPN, interface 1
    • TRANSIT_GATEWAY_ID: o ID do gateway de trânsito associado à conexão VPN.
    • AWS_T1_IP: endereço IP interno do gateway virtual virtual para a conexão 1, túnel 1
    • AWS_T2_IP: endereço IP interno do gateway particular virtual da conexão 1, túnel 2
    • AWS_T3_IP: endereço IP interno do gateway particular virtual da conexão 2, túnel 1
    • AWS_T4_IP: endereço IP interno do gateway particular virtual para a conexão 2, túnel 2
    • SHARED_SECRET_1: chave pré-compartilhada para conexão 1, túnel 1
    • SHARED_SECRET_2: chave pré-compartilhada para conexão 1, túnel 2
    • SHARED_SECRET_3: chave pré-compartilhada para conexão 2, túnel 1
    • SHARED_SECRET_4: chave pré-compartilhada para conexão 2, túnel 2
    • CUSTOMER_GATEWAY_1: gateway do Google Cloud VPN, interface 0
    • CUSTOMER_GATEWAY_2: gateway do Google Cloud VPN, interface 1
    • TRANSIT_GATEWAY_ID: o ID do gateway de trânsito associado à conexão VPN.
    • AWS_T1_IP: endereço IP interno do gateway virtual virtual para a conexão 1, túnel 1
    • AWS_T2_IP: endereço IP interno do gateway particular virtual da conexão 1, túnel 2
    • AWS_T3_IP: endereço IP interno do gateway particular virtual da conexão 2, túnel 1
    • AWS_T4_IP: endereço IP interno do gateway particular virtual para a conexão 2, túnel 2
    • SHARED_SECRET_1: chave pré-compartilhada para conexão 1, túnel 1
    • SHARED_SECRET_2: chave pré-compartilhada para conexão 1, túnel 2
    • SHARED_SECRET_3: chave pré-compartilhada para conexão 2, túnel 1
    • SHARED_SECRET_4: chave pré-compartilhada para conexão 2, túnel 2

    A AWS reserva alguns intervalos CIDR, então não é possível usar valores nesses intervalos em endereços IP (AWS_T1_IP, AWS_T2_IP, AWS_T3_IP AWS_T4_IP). Para informações sobre quais blocos CIDR a AWS reserva, consulte Opções de túnel para conexão VPN site a site.

    Use esses comandos para criar quatro túneis no Google Cloud.

  4. Faça o download do arquivo de configuração para as duas conexões VPN.

    Nas próximas etapas, você vai usar valores do arquivo de configuração que você fez o download para criar e configurar recursos no lado do Google Cloud.

Crie túneis de VPN e interfaces do Cloud Router no Google Cloud

Nesta seção, você usa as informações da conexão de VPN da AWS criada na seção anterior para criar um gateway de VPN externo, túneis de VPN e interfaces do Cloud Router no Google Cloud.

Ao configurar túneis do Cloud VPN para a AWS, use o protocolo IKEv2 e selecione apenas um conjunto de cifras IKE para garantir o estabelecimento do túnel. Por exemplo, selecione um algoritmo de criptografia, um algoritmo de integridade e um grupo Diffie-Hellman (DH) da Fase 1 e da Fase 2. Os conjuntos de transformação padrão da AWS criam um payload de associação de segurança (SA) grande, o que pode causar a fragmentação de IP dos pacotes IKE. O Cloud VPN não oferece suporte a pacotes IKE fragmentados.

  1. No Cloud Shell, crie um gateway de VPN externo com quatro interfaces para os endereços IP externos da AWS.

    Antes de criar o gateway de VPN externo, verifique se os endereços IP externos da AWS correspondem aos valores no arquivo de configuração que você fez o download. Não é possível modificar esses endereços IP depois de criar o gateway de VPN externo. Se os endereços não corresponderem, a conexão do túnel de VPN de alta disponibilidade não poderá ser estabelecida.

    gcloud compute external-vpn-gateways create PEER_GATEWAY_NAME --interfaces \
      0=AWS_GW_IP_1,1=AWS_GW_IP_2,2=AWS_GW_IP_3,3=AWS_GW_IP_4

    Substitua:

    • AWS_GW_IP_1: endereço IP externo para gateway particular virtual para conexão 1, túnel 1
    • AWS_GW_IP_2: endereço IP externo para gateway particular virtual para conexão 1, túnel 2
    • AWS_GW_IP_3: endereço IP externo para o gateway particular virtual na conexão 2, túnel 1
    • AWS_GW_IP_4: endereço IP externo para gateway particular virtual para conexão 2, túnel 2
  2. Crie quatro túneis de VPN.

    • Túnel 1:

      gcloud compute vpn-tunnels create tunnel-1 \
          --peer-external-gateway PEER_GATEWAY_NAME \
          --peer-external-gateway-interface 0 \
          --region REGION \
          --ike-version 2 \
          --shared-secret SHARED_SECRET_1 \
          --router ROUTER_NAME \
          --vpn-gateway HA_VPN_GATEWAY_NAME \
          --interface 0
    • Túnel 2:

      gcloud compute vpn-tunnels create tunnel-2 \
          --peer-external-gateway PEER_GATEWAY_NAME \
          --peer-external-gateway-interface 1 \
          --region REGION \
          --ike-version 2 \
          --shared-secret SHARED_SECRET_2 \
          --router ROUTER_NAME \
          --vpn-gateway HA_VPN_GATEWAY_NAME \
          --interface 0
    • Túnel 3:

      gcloud compute vpn-tunnels create tunnel-3 \
          --peer-external-gateway PEER_GATEWAY_NAME \
          --peer-external-gateway-interface 2 \
          --region REGION \
          --ike-version 2 \
          --shared-secret SHARED_SECRET_3 \
          --router ROUTER_NAME \
          --vpn-gateway HA_VPN_GATEWAY_NAME \
          --interface 1
    • Túnel 4:

      gcloud compute vpn-tunnels create tunnel-4 \
          --peer-external-gateway PEER_GATEWAY_NAME \
          --peer-external-gateway-interface 3 \
          --region REGION \
          --ike-version 2 \
          --shared-secret SHARED_SECRET_4 \
          --router ROUTER_NAME \
          --vpn-gateway HA_VPN_GATEWAY_NAME \
          --interface 1

      Substitua:

  3. Crie quatro interfaces do Cloud Router.

    Nos comandos a seguir, substitua cada marcador GOOGLE_BGP_IP_TUNNEL pelo endereço IP do túnel no lado do Google Cloud. Encontre os valores nos arquivos de configuração da VPN da AWS como o endereço do gateway de cliente para cada túnel. Cada um desses endereços precisa estar no intervalo CIDR /30 dentro do intervalo de rede 169.254.0.0/16.

    • Interface 1 do Cloud Router:

      gcloud compute routers add-interface ROUTER_NAME \
          --interface-name int-1 \
          --vpn-tunnel tunnel-1 \
          --ip-address GOOGLE_BGP_IP_TUNNEL_1 \
          --mask-length 30 \
          --region REGION
    • Interface 2 do Cloud Router:

      gcloud compute routers add-interface ROUTER_NAME \
          --interface-name int-2 \
          --vpn-tunnel tunnel-2 \
          --ip-address GOOGLE_BGP_IP_TUNNEL_2 \
          --mask-length 30 \
          --region REGION
    • Interface 3 do Cloud Router:

      gcloud compute routers add-interface ROUTER_NAME \
          --interface-name int-3 \
          --vpn-tunnel tunnel-3 \
          --ip-address GOOGLE_BGP_IP_TUNNEL_3 \
          --mask-length 30 \
          --region REGION
    • Interface 4 do Cloud Router:

      gcloud compute routers add-interface ROUTER_NAME \
          --interface-name int-4 \
          --vpn-tunnel tunnel-4 \
          --ip-address GOOGLE_BGP_IP_TUNNEL_4 \
          --mask-length 30 \
          --region REGION
  4. Adicione pares do BGP.

    Nos comandos a seguir, substitua PEER_ASN pelo ASN da parte da AWS da sessão do BGP.

    • Conexão da AWS 1, túnel 1:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
          --peer-name aws-conn1-tunn1 \
          --peer-asn PEER_ASN \
          --interface int-1 \
          --peer-ip-address AWS_T1_IP \
          --region REGION
    • Conexão da AWS 1, túnel 2:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
          --peer-name aws-conn1-tunn2 \
          --peer-asn PEER_ASN \
          --interface int-2 \
          --peer-ip-address AWS_T2_IP \
          --region REGION
    • Conexão 2 da AWS, túnel 1:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
          --peer-name aws-conn2-tunn1 \
          --peer-asn PEER_ASN \
          --interface int-3 \
          --peer-ip-address AWS_T3_IP \
          --region REGION
    • Conexão 2 da AWS, túnel 2:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
          --peer-name aws-conn2-tunn2 \
          --peer-asn PEER_ASN \
          --interface int-4 \
          --peer-ip-address AWS_T4_IP \
          --region REGION

Verificar a configuração

  1. No Cloud Shell, verifique o status do Cloud Router:

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

    O resultado será assim:

    result.bgpPeerStatus[].peerIpAddress)'
    result.bgpPeerStatus[0].ipAddress:     169.254.171.18
    result.bgpPeerStatus[0].name:          aws-conn1-tunn1
    result.bgpPeerStatus[0].peerIpAddress: 169.254.171.17
    result.bgpPeerStatus[1].ipAddress:     169.254.156.154
    result.bgpPeerStatus[1].name:          aws-conn1-tunn2
    result.bgpPeerStatus[1].peerIpAddress: 169.254.156.153
    result.bgpPeerStatus[2].ipAddress:     169.254.123.38
    result.bgpPeerStatus[2].name:          aws-conn2-tunn1
    result.bgpPeerStatus[2].peerIpAddress: 169.254.123.37
    result.bgpPeerStatus[3].ipAddress:     169.254.48.186
    result.bgpPeerStatus[3].name:          aws-conn2-tunn2
    result.bgpPeerStatus[3].peerIpAddress: 169.254.48.185
    
  2. Liste todos os túneis:

    gcloud compute vpn-tunnels list

    O resultado será assim:

    NAME      REGION    GATEWAY    PEER_ADDRESS
    tunnel-1  us-east4  ha-vpn-gw  34.205.x.x
    tunnel-2  us-east4  ha-vpn-gw  52.203.x.x
    tunnel-3  us-east4  ha-vpn-gw  3.208.x.x
    tunnel-4  us-east4  ha-vpn-gw  52.204.x.x
    
  3. Verifique o status do túnel:

    gcloud compute vpn-tunnels describe tunnel-1 \
         --region REGION \
         --format='flattened(status,detailedStatus)'

    O resultado será assim:

    detailed_status: Tunnel is up and running.
    status:          ESTABLISHED
    
  4. Liste rotas dinâmicas aprendidas pelo Cloud Router:

    gcloud compute routers get-status ROUTER_NAME \
        --region REGION \
        --format="flattened(result.bestRoutes)"

    O resultado será assim:

    result.bestRoutes[0].creationTimestamp: 2021-01-19T20:42:07.366-08:00
    result.bestRoutes[0].destRange:         10.2.2.0/24
    result.bestRoutes[0].kind:              compute#route
    result.bestRoutes[0].nextHopIp:         169.254.171.17
    result.bestRoutes[0].priority:          100
    result.bestRoutes[1].creationTimestamp: 2021-01-19T20:42:07.366-08:00
    result.bestRoutes[1].destRange:         10.2.2.0/24
    result.bestRoutes[1].kind:              compute#route
    result.bestRoutes[1].nextHopIp:         169.254.156.153
    result.bestRoutes[1].priority:          100
    result.bestRoutes[2].creationTimestamp: 2021-01-19T20:56:26.588-08:00
    result.bestRoutes[2].destRange:         10.2.2.0/24
    result.bestRoutes[2].kind:              compute#route
    result.bestRoutes[2].nextHopIp:         169.254.123.37
    result.bestRoutes[2].priority:          100
    result.bestRoutes[3].creationTimestamp: 2021-01-19T20:56:26.588-08:00
    result.bestRoutes[3].destRange:         10.2.2.0/24
    result.bestRoutes[3].kind:              compute#route
    result.bestRoutes[3].nextHopIp:         169.254.48.185
    result.bestRoutes[3].priority:          100
    

Testar a conexão VPN

  1. Crie VMs de teste em cada lado dos túneis para testar solicitações de ping.

    Verifique se você tem regras de firewall da VPC para permitir o tráfego ICMP.

  2. Teste a conexão usando o comando ping.

    1. Se o teste ping falhar, acesse os registros no Google Cloud e os registros da VPN Site-to-Site da AWS. As mensagens de erro nos registros podem ajudar a identificar o problema. Para saber como resolver problemas com sua conexão de VPN, consulte os seguintes recursos:
  3. Avalie a largura de banda entre as máquinas de teste usando o iperf.

    • Lado do servidor:

      iperf3 -s
    • Lado do cliente:

      iperf3 -c SERVER_IP_ADDRESS -P NUMBER_OF_PARALLEL_SESSIONS

Limpar

Exclua os recursos do Google Cloud e do AWS que você criou durante este tutorial.

Excluir o projeto do Google Cloud

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, exclua o projeto:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Excluir recursos da AWS

  1. Excluir uma conexão VPN site a site
  2. Excluir o gateway de trânsito.
  3. Encerrar instâncias do Amazon EC2

A seguir