Crie ligações de VPN de alta disponibilidade entre Google Cloud e a AWS

Este tutorial demonstra como criar ligações VPN de alta disponibilidade entre o Google Cloud e os Amazon Web Services (AWS) para comunicação direta entre redes VPC nas duas plataformas de nuvem. Google Cloud

Este tutorial pressupõe que está familiarizado com os conceitos básicos das redes da nuvem virtual privada (VPC), do protocolo de gateway de fronteira (BGP), das redes privadas virtuais (VPNs) e dos túneis IPsec.

OGoogle Cloud oferece um serviço de VPN de alta disponibilidade altamente disponível para ligar a sua rede VPC a ambientes em execução fora do Google Cloud, como no local ou na AWS, através de uma ligação VPN IPsec. A VPN de alta disponibilidade oferece um SLA de disponibilidade do serviço de 99,99% quando configurada com base nas práticas recomendadas da Google. Para mais informações, consulte o Contrato de Nível de Serviço (SLA) do Cloud VPN.

Vista geral da arquitetura

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

  • Cloud Router: um serviço totalmente distribuído e gerido Google Cloud para fornecer encaminhamento dinâmico através do BGP para as suas redes VPC.
  • Gateway de HA VPN: um gateway de VPN gerido pela Google em execução em Google Cloud. Cada gateway de VPN de HA é um recurso regional que tem duas interfaces, cada uma com os seus próprios endereços IP externos: interface 0 e 1.
  • Túneis VPN: ligações do gateway de VPN de alta disponibilidade ao gateway de VPN de pares na AWS através do qual passa o tráfego encriptado.
  • Gateway de VPN de intercâmbio: dois pontos finais de VPN site a site da AWS, que podem ser de um gateway privado virtual da AWS ou de um gateway de trânsito da AWS. Para mais informações, consulte o artigo O que é a VPN site-to-site da AWS?

Cada uma das ligações de gateway de VPN de pares inclui dois túneis pré-configurados para apontar para um único gateway do cliente, que, neste caso, é umaGoogle Cloud interface de VPN de HA. Com esta configuração, o número mínimo de túneis para cumprir o SLA de disponibilidade do serviço de 99,99% é quatro.

As opções de encaminhamento e a largura de banda combinada nos túneis de VPN variam consoante a opção de VPN de site a site usada no lado da AWS:

O diagrama seguinte mostra a arquitetura.

Vista geral da arquitetura.

Objetivos

  • Crie uma rede de VPC no Google Cloud.
  • Crie um gateway de VPN de alta disponibilidade e um Cloud Router em Google Cloud.
  • Crie gateways de clientes na AWS.
  • Crie uma ligação VPN com encaminhamento dinâmico na AWS.
  • Crie um gateway de VPN externo e túneis de VPN em Google Cloud.
  • Valide e teste a ligação VPN entre redes VPC no Google Cloud e na AWS.
  • Use o Cloud Location Finder para identificar as regiões Google Cloud mais próximas.

Exemplo de módulo do Terraform

Pode usar o módulo gcp-to-aws-ha-vpn-terraform-module para aprovisionar a VPN de HA entre o Google Cloud e a AWS.

Custos

Este tutorial usa componentes faturáveis do Google Cloud, incluindo o seguinte:

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

Este tutorial usa componentes faturáveis dos Amazon Web Services, incluindo o seguinte:

  • AWS Transit Gateway
  • VPN site a site da AWS

Para uma estimativa dos custos dos componentes da AWS, use a calculadora de preços da AWS.

Antes de começar

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

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

    Activate Cloud Shell

  5. Certifique-se de que tem as funções administrativas necessárias para configurar os componentes de rede:

    • Administrador da rede: compute.networkAdmin
    • Administrador de segurança: compute.securityAdmin
    • Administrador de computação: compute.admin

    Para mais informações sobre as finalidades destas funções, consulte o artigo Funções de IAM para funções de trabalho relacionadas com redes.

  6. Crie o gateway de VPN de alta disponibilidade e o Cloud Router em Google Cloud

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

    1. No Cloud Shell, certifique-se de que está a trabalhar no Google Cloud projeto que criou ou selecionou.

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

      Substitua YOUR_PROJECT_ID pelo ID do seu projeto.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 o seguinte:

      Por exemplo, o comando seguinte cria uma rede VPC personalizada denominada 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 alojar 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 o seguinte:

      • SUBNET_NAME: O nome da sub-rede
      • SUBNET_REGION: a região na qual criar a sub-rede
      • IP_ADDRESS_RANGE: o intervalo de endereços IP para a sub-rede

        Por exemplo, o comando seguinte cria uma sub-rede denominada subnet-east4 na rede de 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 HA, 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 HA.

    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 o seguinte:

      • ROUTER_NAME: o nome do seu Cloud Router
      • GOOGLE_ASN: o ASN privado (número do sistema autónomo) para o Cloud Router que está a criar. Pode ser qualquer ASN privado no intervalo 64512-65534 ou 4200000000-4294967294 que ainda não esteja a usar como um ASN de pares na mesma região e rede.

      Por exemplo, o comando seguinte cria um Cloud Router com o nome 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, tome nota dos endereços IP externos. Precisa destas moradas quando configurar o seu ambiente no lado da AWS.

    Crie gateways e ligações VPN na AWS

    Nesta secção, cria gateways de clientes, um gateway de destino e ligações VPN com encaminhamento dinâmico.

    Executa comandos da AWS através da interface de linhas de comando da AWS.

    1. Para criar dois gateways de clientes através do seguinte comando da AWS, use o create-customer-gatewaycomando da CLI da AWS:

      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 externos do passo final na secção anterior.

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

      O gateway de destino pode ser um gateway privado virtual ou um gateway de trânsito. Para mais informações, consulte o artigo Crie um gateway de destino.

      Gateway privado virtual

      1. Crie um gateway privado virtual com um ASN específico do lado da AWS através do create-vpn-gateway comando da CLI da AWS:

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

        Substitua AWS_SIDE_ASN pelo ASN do lado da AWS.

        Este comando deve ser semelhante ao seguinte exemplo:

        aws ec2 create-vpn-gateway --type ipsec.1 --amazon-side-asn 65001
        
      2. Anexe o gateway privado virtual à sua rede VPC através do attach-vpn-gateway comando da CLI da AWS:

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

      Gateway de trânsito

      1. Crie uma gateway de trânsito através do comando da CLI da AWS create-transit-gateway:

        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 da sua gateway de trânsito.

      2. Anexe a sua rede VPC à gateway de trânsito através do create-transit-gateway-vpc-attachment comando da CLI da AWS:

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

        Substitua o seguinte:

        • TRANSIT_GATEWAY_ID: o ID do gateway de trânsito
        • VPC_ID: o ID da VPC
        • SUBNET_ID: os IDs de uma ou mais sub-redes
    3. Para criar uma ligação VPN com encaminhamento dinâmico, faça o seguinte:

      O método de criação de uma ligação VPN com encaminhamento dinâmico difere consoante o gateway de destino seja um gateway privado virtual ou um gateway de trânsito. Para mais informações, consulte o artigo Crie uma ligação VPN.

      Gateway privado virtual

      Crie uma ligação VPN com encaminhamento dinâmico entre o gateway privado virtual e os gateways do cliente e aplique etiquetas à ligação 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 o seguinte:

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

      Gateway de trânsito

      Crie uma ligação VPN com encaminhamento dinâmico entre o gateway de trânsito 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 o seguinte:

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

      A AWS reserva alguns intervalos de CIDR, pelo que não pode usar valores nestes intervalos como endereços IP internos (AWS_T1_IP, AWS_T2_IP, AWS_T3_IP e AWS_T4_IP). Para obter informações sobre os blocos de CIDR que a AWS reserva, consulte Opções de túnel para a sua ligação VPN site a site.

      Cria quatro túneis Google Cloud com estes comandos.

    4. Transfira o ficheiro de configuração para as duas ligações VPN.

      Nos passos seguintes, usa valores do ficheiro de configuração que transferiu para criar e configurar recursos no lado Google Cloud do servidor.

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

    Nesta secção, usa as informações da ligação VPN da AWS que criou na secção anterior para criar um gateway de VPN externo, túneis VPN e interfaces do Cloud Router no Google Cloud.

    Quando configura túneis de VPN na nuvem para a AWS, tem de usar o protocolo IKEv2 e selecionar apenas um conjunto de cifras IKE para ajudar a garantir o estabelecimento bem-sucedido do túnel. Por exemplo, selecione um algoritmo de encriptação da fase 1 e um da fase 2, um algoritmo de integridade e um grupo Diffie-Hellman (DH). As definições de transformação da AWS predefinidas criam uma grande carga útil de associação de segurança (SA), o que pode causar a fragmentação de IP de pacotes IKE. A VPN na nuvem não suporta 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 ficheiro de configuração que transferiu. Não pode modificar estes endereços IP depois de criar o gateway de VPN externo. Se os endereços não corresponderem, não é possível estabelecer a ligação do túnel de VPN de HA.

      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 o seguinte:

      • AWS_GW_IP_1: endereço IP externo para o gateway privado virtual para a ligação 1, túnel 1
      • AWS_GW_IP_2: endereço IP externo para o gateway privado virtual para a ligação 1, túnel 2
      • AWS_GW_IP_3: endereço IP externo para o gateway privado virtual para a ligação 2, túnel 1
      • AWS_GW_IP_4: Endereço IP externo para o gateway privado virtual para a ligaçã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 o seguinte:

    3. Crie quatro interfaces do Cloud Router.

      Nos comandos seguintes, substitua cada marcador de posição GOOGLE_BGP_IP_TUNNEL pelo endereço IP interno do túnel no lado Google Cloud . Pode encontrar os valores nos ficheiros de configuração da VPN da AWS como o endereço do gateway do cliente para cada túnel. Cada um destes endereços tem de 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 do Cloud Router 2:

        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 do Cloud Router 3:

        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 do Cloud Router 4:

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

      Nos comandos seguintes, substitua PEER_ASN pelo ASN do lado da AWS da sessão BGP.

      • Ligação 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
      • Ligação 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
      • Ligação AWS 2, 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
      • Ligação AWS 2, 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

    Valide a configuração

    1. No Cloud Shell, verifique o estado 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 é semelhante ao seguinte:

      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. Apresentar todos os túneis:

      gcloud compute vpn-tunnels list

      O resultado é semelhante ao seguinte:

      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 estado do túnel:

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

      O resultado é semelhante ao seguinte:

      detailed_status: Tunnel is up and running.
      status:          ESTABLISHED
      
    4. Apresentar trajetos dinâmicos aprendidos pelo Cloud Router:

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

      O resultado é semelhante ao seguinte:

      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
      

    Teste a ligação VPN

    1. Crie VMs de teste em cada lado dos túneis para testar pedidos de ping.

      Certifique-se de que tem regras de firewall da VPC para permitir o tráfego ICMP.

    2. Teste a ligação através do ping comando.

      1. Se o teste ping falhar, veja os registos em Google Cloud e os registos da VPN site a site da AWS. As mensagens de erro nos registos podem ajudar a identificar o problema. Para saber como resolver problemas com a ligação VPN, consulte os seguintes recursos:
    3. Meça a largura de banda entre as suas máquinas de teste através do iperf.

      • Lado do servidor:

        iperf3 -s
      • Lado do cliente:

        iperf3 -c SERVER_IP_ADDRESS -P NUMBER_OF_PARALLEL_SESSIONS

    Limpar

    Elimine os recursos do Google Cloud Google Cloud e da AWS que criou durante este tutorial.

    Elimine o Google Cloud projeto

    Para evitar incorrer em custos na sua Google Cloud conta pelos recursos usados neste tutorial, pode eliminar o seu 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.

    Elimine recursos da AWS

    1. Elimine uma ligação VPN site a site
    2. Elimine o gateway de trânsito
    3. Termine instâncias do Amazon EC2

    O que se segue?