Crea conexiones de VPN con alta disponibilidad entre Google Cloud y AWS

En este instructivo, se muestra cómo crear conexiones de VPN con alta disponibilidad entre Google Cloud y Amazon Web Services (AWS) para la comunicación directa entre las redes de VPC en las dos plataformas en la nube.

En este instructivo, se supone que estás familiarizado con los conceptos básicos de las redes de nube privada virtual (VPC), el protocolo de puerta de enlace fronteriza (BGP), las redes privadas virtuales (VPNs) y los túneles IPsec.

Google Cloud proporciona un servicio de VPN con alta disponibilidad (HA) para conectar tu red de VPC a entornos que se ejecutan fuera de Google Cloud, como de forma local o en AWS a través de una conexión de VPN con IPsec La VPN con alta disponibilidad proporciona un ANS del 99.99% de disponibilidad del servicio cuando se configura en función de las prácticas recomendadas de Google.

Descripción general de la arquitectura

La arquitectura que se describe en este documento incluye los siguientes componentes:

  • Cloud Router: Servicio de Google Cloud completamente distribuido y administrado a fin de proporcionar enrutamiento dinámico mediante BGP para tus redes de VPC.
  • Puerta de enlace de VPN con alta disponibilidad: Una puerta de enlace de VPN administrada por Google que se ejecuta en Google Cloud. Cada puerta de enlace de VPN con alta disponibilidad es un recurso regional que tiene dos interfaces, cada una con sus propias direcciones IP externas: la interfaz 0 y la 1.
  • Túneles VPN: Conexiones de la puerta de enlace de VPN con alta disponibilidad a la puerta de enlace de VPN de intercambio de tráfico en AWS a través de la cual pasa el tráfico encriptado.
  • Puerta de enlace de VPN de intercambio de tráfico: dos extremos de VPN de sitio a sitio de AWS, que pueden ser de una puerta de enlace privada virtual de AWS o una puerta de enlace de tránsito de AWS.

Cada una de las conexiones de puerta de enlace de VPN de intercambio de tráfico viene con dos túneles preconfigurados para apuntar a una única puerta de enlace de cliente, que en este caso es una interfaz de VPN con alta disponibilidad de Google Cloud. Con esta configuración, la cantidad mínima de túneles para cumplir con el ANS del 99.99% de disponibilidad del servicio es cuatro.

Las opciones de enrutamiento y el ancho de banda combinado de los túneles de VPN varían según la opción de VPN de sitio a sitio que se usa en AWS:

En el siguiente diagrama, se muestra la arquitectura.

Descripción general de la arquitectura

Objetivos

  • Crear una red de VPC en Google Cloud.
  • Crear una puerta de enlace de VPN con alta disponibilidad y Cloud Router en Google Cloud.
  • Crear puertas de enlace de cliente en AWS
  • Crea una conexión de VPN con enrutamiento dinámico en AWS.
  • Crear una puerta de enlace de VPN externa y túneles VPN en Google Cloud
  • Verificar y probar la conexión de VPN entre redes de VPC en Google Cloud y AWS.

Ejemplo de módulo de Terraform

Puedes usar el módulo gcp-to-aws-ha-vpn-terraform-module para aprovisionar VPN con alta disponibilidad entre Google Cloud y AWS.

Costos

En este instructivo, se usan componentes facturables de Google Cloud, incluidos los siguientes:

Para obtener una estimación de los costos de los componentes de Google Cloud, usa la calculadora de precios de Google Cloud.

En este instructivo, se usan componentes facturables de Amazon Web Services, incluidos los siguientes:

  • Puerta de enlace de tránsito de AWS
  • VPN de sitio a sitio de AWS

Para una estimación de los costos de los componentes de AWS, usa la calculadora de precios de AWS.

Antes de comenzar

  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. Asegúrate de tener las funciones administrativas requeridas para configurar los componentes de herramientas de redes:

    • Administrador de la red: compute.networkAdmin
    • Administrador de seguridad: compute.securityAdmin
    • Administrador de Compute: compute.admin

    A fin de obtener más información sobre los propósitos de estas funciones, consulta Funciones de IAM para características de trabajo relacionadas con las herramientas de redes.

Crea la puerta de enlace de VPN con alta disponibilidad y Cloud Router en Google Cloud

En esta sección, crearás una red de VPC, una puerta de enlace de VPN con alta disponibilidad y un Cloud Router en Google Cloud.

  1. En Cloud Shell, asegúrate de estar trabajando en el proyecto de Google Cloud que creaste o seleccionaste:

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

    Reemplaza YOUR_PROJECT_ID con tu ID del proyecto de Google Cloud.

  2. Crea una red de VPC personalizada con una sola subred.

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

    Reemplaza lo siguiente:

    El comando debe ser similar al siguiente ejemplo:

    gcloud compute networks create gc-vpc \
        --subnet-mode custom \
        --bgp-routing-mode global
    
  3. Crea una subred para alojar las VM de prueba:

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

    Reemplaza lo siguiente:

    Los comandos deben ser similares al siguiente ejemplo:

    gcloud compute networks subnets create subnet-east4  \
        --network gc-vpc \
        --region us-east4 \
        --range 10.1.1.0/24
    
  4. Crea la puerta de enlace de VPN con alta disponibilidad:

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

    Reemplaza HA_VPN_GATEWAY_NAME con el nombre de la puerta de enlace de VPN con alta disponibilidad.

  5. Crea un Cloud Router:

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

    Reemplaza lo siguiente:

    • ROUTER_NAME: El nombre de tu Cloud Router
    • GOOGLE_ASN: El ASN (número de sistema autónomo) privado para el Cloud Router que estás creando. Puede ser cualquier ASN privado en el rango 64512-65534 o 4200000000-4294967294 que todavía no estés usando como ASN de intercambio de tráfico en la misma región y red.

    El comando debe ser similar al siguiente ejemplo:

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

Este procedimiento crea una puerta de enlace de VPN con dos interfaces. Toma nota de las direcciones externas para que puedas usarlas cuando configures tu entorno en AWS.

Crea puertas de enlace y conexiones de VPN en AWS

En esta sección, crearás puertas de enlace de clientes, una puerta de enlace de destino y conexiones de VPN con enrutamiento dinámico.

Puedes ejecutar comandos de AWS con la interfaz de línea de comandos de AWS.

  1. Crea dos puertas de enlace de clientes con el siguiente comando de 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

    Reemplaza INTERFACE_0_IP_ADDRESS y INTERFACE_1_IP_ADDRESS por las direcciones IP públicas del paso final de la sección anterior.

  2. Crea una puerta de enlace de destino y adjúntala a tu red de VPC.

    La puerta de enlace de destino puede ser una puerta de enlace privada virtual o una puerta de enlace de tránsito. Para obtener más información, consulta Crea una puerta de enlace de destino.

    Sigue las instrucciones para una puerta de enlace privada virtual o una puerta de enlace de tránsito:

    • Puerta de enlace privada virtual:

      1. Crea una puerta de enlace privada virtual con un ASN específico de AWS:

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

        Reemplaza AWS_SIDE_ASN por el ASN de AWS.

        Este comando debe ser similar al siguiente ejemplo:

        aws ec2 create-vpn-gateway --type ipsec.1 --amazon-side-asn 65001
        
      2. Adjunta la puerta de enlace privada virtual a tu red de VPC:

        aws ec2 attach-vpn-gateway --vpn-gateway-id VPN_GATEWAY_ID --vpc-id VPC_ID
    • Puerta de enlace de tránsito:

      1. Crea una puerta de enlace de tránsito:

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

        Reemplaza TRANSIT_GATEWAY_DESCRIPTION con una descripción para tu puerta de enlace de tránsito.

      2. Conecta tu red de VPC a la puerta de enlace de tránsito:

        aws ec2 create-transit-gateway-vpc-attachment \
            --transit-gateway-id TRANSIT_GATEWAY_ID \
            --vpc-id VPC_ID \
            --subnet-id SUBNET_ID
  3. Crea una conexión de VPN con enrutamiento dinámico.

    El método para crear una conexión de VPN con enrutamiento dinámico varía si la puerta de enlace de destino es una puerta de enlace privada virtual o una de tránsito. Para obtener más información, consulta Crea una conexión de VPN de sitio a sitio.

    Sigue las instrucciones para una puerta de enlace privada virtual o una puerta de enlace de tránsito:

    • Puerta de enlace privada virtual:

      Crea una conexión de VPN con enrutamiento dinámico entre la puerta de enlace privada virtual y la puerta de enlace de cliente, y aplica etiquetas a la conexión de 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}]'
    • Puerta de enlace de tránsito:

      Crea una conexión de VPN con enrutamiento dinámico entre la puerta de enlace de tránsito y las puertas de enlace del 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}]'

      Reemplaza lo siguiente:

      • CUSTOMER_GATEWAY_1: Puerta de enlace de VPN de Google Cloud, interfaz 0
      • CUSTOMER_GATEWAY_2: Puerta de enlace de VPN de Google Cloud, interfaz 1
      • AWS_T1_IP: Dirección IP interna de la puerta de enlace privada virtual para la conexión 1, túnel 1
      • AWS_T2_IP: Dirección IP interna de la puerta de enlace privada virtual para la conexión 1, túnel 2
      • AWS_T3_IP: Dirección IP interna de la puerta de enlace privada virtual para la conexión 2, túnel 1
      • AWS_T4_IP: dirección IP interna de la puerta de enlace privada virtual para la conexión 2, túnel 2
      • SHARED_SECRET_1: clave precompartida para la conexión 1, túnel 1
      • SHARED_SECRET_2: Clave precompartida para la conexión 1, túnel 2
      • SHARED_SECRET_3: Clave precompartida para la conexión 2, túnel 1
      • SHARED_SECRET_4: Clave precompartida para la conexión 2, túnel 2

      AWS reserva algunos rangos de CIDR, por lo que no puedes usar valores en estos rangos como direcciones IP (AWS_T1_IP, AWS_T2_IP, AWS_T3_IP, AWS_T4_IP). Para obtener información sobre qué bloques de CIDR reserva AWS, consulta Túnel interior de CIDR IPv4.

      Estos comandos crean cuatro túneles en Google Cloud.

  4. Descarga los archivos de configuración para las dos conexiones de VPN.

    En los pasos posteriores, usarás valores de los archivos de configuración para crear y configurar los recursos en Google Cloud.

Crea túneles de VPN e interfaces de Cloud Router en Google Cloud

En esta sección, usarás la información de las conexiones de VPN de AWS que creaste en la sección anterior para crear y configurar componentes en Google Cloud.

Cuando configures los túneles VPN en AWS, usa el protocolo de encriptación IKEv2 y selecciona menos conjuntos de transformaciones en AWS. Por ejemplo, selecciona una combinación de algoritmos de encriptación únicos de fase 1 y fase 2, algoritmos de integridad y números de grupos Diffie-Hellman (DH). De lo contrario, el túnel de Cloud VPN puede no cambiar las claves debido al gran tamaño de carga útil de la asociación de seguridad (SA) de los conjuntos de transformaciones predeterminados de AWS. Este gran tamaño de carga útil puede causar la fragmentación de IP de los paquetes IKE en AWS, que no admite Cloud VPN. Si deseas obtener más información, consulta Opciones de túneles para la conexión de VPN de sitio a sitio.

  1. En Cloud Shell, crea una puerta de enlace de VPN externa con cuatro interfaces para las direcciones IP externas de AWS:

    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

    Reemplaza lo siguiente:

    • AWS_GW_IP_1: Dirección IP externa de la puerta de enlace privada virtual para la conexión 1, túnel 1
    • AWS_GW_IP_2: Dirección IP externa de la puerta de enlace privada virtual para la conexión 1, túnel 2
    • AWS_GW_IP_3: dirección IP externa de la puerta de enlace privada virtual para la conexión 2, túnel 1
    • AWS_GW_IP_4: dirección IP externa de la puerta de enlace privada virtual para la conexión 2, túnel 2
  2. Crea cuatro túneles 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 IKE_VERSION \
          --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 IKE_VERSION \
          --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 IKE_VERSION \
          --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 IKE_VERSION \
          --shared-secret SHARED_SECRET_4 \
          --router ROUTER_NAME \
          --vpn-gateway HA_VPN_GATEWAY_NAME \
          --interface 1
  3. Crea cuatro interfaces de Cloud Router.

    En los siguientes comandos, reemplaza cada marcador de posición GOOGLE_BGP_IP_TUNNEL por la dirección IP interna del túnel de Google Cloud. Puedes encontrar los valores en los archivos de configuración de VPN de AWS como la dirección de la puerta de enlace de cliente para cada túnel. Cada una de estas direcciones debe estar en el rango de CIDR /30 dentro del rango de red 169.254.0.0/16.

    • Interfaz 1 de 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
    • Interfaz 2 de 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
    • Interfaz 3 de 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
    • Interfaz 4 de 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. Agrega pares de BGP.

    En los comandos siguientes, reemplaza PEER_ASN por el ASN para AWS de la sesión de BGP.

    • Conexión 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
    • Conexión 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
    • Conexión 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
    • Conexión 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

Verifica la configuración

  1. En Cloud Shell, verifica el estado de Cloud Router:

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

    El resultado es similar al siguiente:

    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. Obtén una lista de todos los túneles:

    gcloud compute vpn-tunnels list

    El resultado es similar al siguiente:

    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. Verifica el estado del túnel:

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

    El resultado es similar al siguiente:

    detailed_status: Tunnel is up and running.
    status:          ESTABLISHED
    
  4. Obtén una lista de las rutas dinámicas aprendidas por Cloud Router:

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

    El resultado es similar a este:

    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
    

Pruebe la conectividad

  1. Crea VMs de prueba en cada lado de los túneles para probar las solicitudes de ping.

    Asegúrate de tener implementadas las reglas de firewall para permitir el tráfico ICMP.

  2. Prueba la conexión con el comando ping.

  3. Medir el ancho de banda entre tus máquinas de prueba con iperf

    • Del servidor:

      iperf3 -s
    • Del cliente:

      iperf3 -c SERVER_IP_ADDRESS -P NUMBER_OF_PARALLEL_SESSIONS

Realiza una limpieza

Borra los recursos de Google Cloud y AWS que creaste durante este instructivo.

Borra el proyecto de Google Cloud

Puedes borrar tu proyecto para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo:

  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.

Borra los recursos de AWS

  1. Borra las conexiones de VPN.
  2. Borra la puerta de enlace de tránsito.
  3. Borra las VM de prueba.

¿Qué sigue?