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 de frontera (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 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. Para obtener más información, consulta el Acuerdo de Nivel de Servicio (ANS) de Cloud VPN.
Descripción general de la arquitectura
La arquitectura que se describe en esta página 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 desde 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. Para obtener más información, consulta ¿Qué es la VPN de sitio a sitio 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:
Puerta de enlace de tránsito: Si creas la puerta de enlace de tránsito de AWS sin preferencia de BGP, ECMP distribuye de manera equitativa el tráfico entre los túneles activos.
Para usar la conectividad de VPN en varias redes de nube privada virtual de Google, usa una red de VPC de conectividad para escalar una arquitectura de concentrador y radio con varias redes de VPC.
Para obtener más información sobre las puertas de enlace de tránsito de AWS, consulta ¿Qué son las puertas de enlace de tránsito de Amazon VPC?.
Puerta de enlace privada virtual: Si usas una puerta de enlace privada virtual de AWS, solo se selecciona un túnel entre todas las conexiones de la puerta de enlace. Para usar más de un túnel, usa una puerta de enlace de tránsito de AWS a fin de que el enrutamiento de varias rutas de igual costo (ECMP) esté disponible.
Para obtener detalles sobre la prioridad de ruta de VPN con AWS, consulta Opciones de enrutamiento de VPN de sitio a sitio.
Para obtener más información sobre las puertas de enlace privadas virtuales de AWS, consulta Opciones de túneles para la conexión de VPN de sitio a sitio.
En el siguiente diagrama, se muestra 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
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
-
In the Google Cloud console, activate Cloud Shell.
-
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.
- Administrador de la red:
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.
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.Para crear una red de VPC personalizada con una sola subred, usa el comando
gcloud compute networks create
:gcloud compute networks create NETWORK \ --subnet-mode SUBNET_MODE \ --bgp-routing-mode BGP_ROUTING_MODE
Reemplaza lo siguiente:
NETWORK
: el nombre de la redSUBNET_MODE
: el modo de subredBGP_ROUTING_MODE
: El modo de enrutamiento BGP
Por ejemplo, el siguiente comando crea una red de VPC personalizada llamada
gc-vpc
con una sola subred:gcloud compute networks create gc-vpc \ --subnet-mode custom \ --bgp-routing-mode global
Para crear una subred para alojar las VMs de prueba, usa el comando
gcloud compute networks subnets create
:gcloud compute networks subnets create SUBNET_NAME \ --network NETWORK \ --region SUBNET_REGION \ --range IP_ADDRESS_RANGE
Reemplaza lo siguiente:
SUBNET_NAME
: el nombre de la subredSUBNET_REGION
: La región en la que se creará la subredIP_ADDRESS_RANGE
: El rango de direcciones IP de la subredPor ejemplo, el siguiente comando crea una subred llamada
subnet-east4
en la red de VPCgc-vpc
.
gcloud compute networks subnets create subnet-east4 \ --network gc-vpc \ --region us-east4 \ --range 10.1.1.0/24
Para crear una puerta de enlace de VPN con alta disponibilidad, usa el comando
gcloud compute vpn-gateways create
: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.Para crear un Cloud Router, usa el 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
Reemplaza lo siguiente:
ROUTER_NAME
: El nombre de tu Cloud RouterGOOGLE_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 rango64512-65534
o4200000000-4294967294
que todavía no estés usando como ASN de intercambio de tráfico en la misma región y red.
Por ejemplo, el siguiente comando crea un Cloud Router llamado
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 crear una puerta de enlace de VPN con dos interfaces, toma nota de las direcciones IP externales. Necesitarás estas direcciones 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.
Para crear dos puertas de enlace de clientes con el siguiente comando de AWS, usa el comando
create-customer-gateway
de 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
Reemplaza
INTERFACE_0_IP_ADDRESS
yINTERFACE_1_IP_ADDRESS
por las direcciones IP externas del paso final de la sección anterior.Para crear una puerta de enlace de destino y adjuntarla a tu Amazon VPC, haz lo siguiente:
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.
Puerta de enlace privada virtual
Crea una puerta de enlace privada virtual con un ASN específico de AWS con el comando
create-vpn-gateway
de la CLI 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
Adjunta la puerta de enlace privada virtual a tu red de VPC con el comando
attach-vpn-gateway
de AWS CLI:aws ec2 attach-vpn-gateway --vpn-gateway-id VPN_GATEWAY_ID --vpc-id VPC_ID
Puerta de enlace de tránsito
Crea una puerta de enlace de tránsito con el comando
create-transit-gateway
de AWS CLI: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.Conecta tu red de VPC a la puerta de enlace de tránsito con el comando
create-transit-gateway-vpc-attachment
de la CLI de AWS:aws ec2 create-transit-gateway-vpc-attachment \ --transit-gateway-id TRANSIT_GATEWAY_ID \ --vpc-id VPC_ID \ --subnet-ids "SUBNET_ID"
Reemplaza lo siguiente:
TRANSIT_GATEWAY_ID
: El ID de la puerta de enlace de tránsitoVPC_ID
: Es el ID de la VPC.SUBNET_ID
: Los IDs de una o más subredes
Para crear una conexión de VPN con enrutamiento dinámico, haz lo siguiente:
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.
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}]'
Reemplaza lo siguiente:
CUSTOMER_GATEWAY_1
: Puerta de enlace de VPN de Google Cloud, interfaz 0CUSTOMER_GATEWAY_2
: Puerta de enlace de VPN de Google Cloud, interfaz 1AWS_T1_IP
: Dirección IP interna de la puerta de enlace privada virtual para la conexión 1, túnel 1AWS_T2_IP
: Dirección IP interna de la puerta de enlace privada virtual para la conexión 1, túnel 2AWS_T3_IP
: Dirección IP interna de la puerta de enlace privada virtual para la conexión 2, túnel 1AWS_T4_IP
: dirección IP interna de la puerta de enlace privada virtual para la conexión 2, túnel 2SHARED_SECRET_1
: clave precompartida para la conexión 1, túnel 1SHARED_SECRET_2
: Clave precompartida para la conexión 1, túnel 2SHARED_SECRET_3
: Clave precompartida para la conexión 2, túnel 1SHARED_SECRET_4
: Clave precompartida para la conexión 2, túnel 2
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 0CUSTOMER_GATEWAY_2
: Puerta de enlace de VPN de Google Cloud, interfaz 1TRANSIT_GATEWAY_ID
: Es el ID de la puerta de enlace de tránsito asociada con la conexión de VPN.AWS_T1_IP
: Dirección IP interna de la puerta de enlace privada virtual para la conexión 1, túnel 1AWS_T2_IP
: Dirección IP interna de la puerta de enlace privada virtual para la conexión 1, túnel 2AWS_T3_IP
: Dirección IP interna de la puerta de enlace privada virtual para la conexión 2, túnel 1AWS_T4_IP
: dirección IP interna de la puerta de enlace privada virtual para la conexión 2, túnel 2SHARED_SECRET_1
: clave precompartida para la conexión 1, túnel 1SHARED_SECRET_2
: Clave precompartida para la conexión 1, túnel 2SHARED_SECRET_3
: Clave precompartida para la conexión 2, túnel 1SHARED_SECRET_4
: Clave precompartida para la conexión 2, túnel 2CUSTOMER_GATEWAY_1
: Puerta de enlace de VPN de Google Cloud, interfaz 0CUSTOMER_GATEWAY_2
: Puerta de enlace de VPN de Google Cloud, interfaz 1TRANSIT_GATEWAY_ID
: Es el ID de la puerta de enlace de tránsito asociada con la conexión de VPN.AWS_T1_IP
: Dirección IP interna de la puerta de enlace privada virtual para la conexión 1, túnel 1AWS_T2_IP
: Dirección IP interna de la puerta de enlace privada virtual para la conexión 1, túnel 2AWS_T3_IP
: Dirección IP interna de la puerta de enlace privada virtual para la conexión 2, túnel 1AWS_T4_IP
: dirección IP interna de la puerta de enlace privada virtual para la conexión 2, túnel 2SHARED_SECRET_1
: clave precompartida para la conexión 1, túnel 1SHARED_SECRET_2
: Clave precompartida para la conexión 1, túnel 2SHARED_SECRET_3
: Clave precompartida para la conexión 2, túnel 1SHARED_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 Opciones de túnel para tu conexión de VPN de sitio a sitio.Con estos comandos, creas cuatro túneles a Google Cloud.
Descarga el archivo de configuración para las dos conexiones de VPN.
En los próximos pasos, usarás valores del archivo de configuración que descargaste para crear y configurar 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 la conexión de VPN de AWS que creaste en la sección anterior para crear una puerta de enlace de VPN externa, túneles de VPN e interfaces de Cloud Router en Google Cloud.
Cuando configures túneles de Cloud VPN en AWS, debes usar el protocolo IKEv2 y seleccionar solo un conjunto de algoritmos de cifrado IKE para garantizar que se establezca correctamente el túnel. Por ejemplo, selecciona un algoritmo de encriptación, un algoritmo de integridad y un grupo Diffie-Hellman (DH) de fase 1 y fase 2. Los conjuntos de transformación predeterminados de AWS crean una gran carga útil de asociación de seguridad (SA), que puede causar la fragmentación de IP de los paquetes IKE. Cloud VPN no admite paquetes IKE fragmentados.
En Cloud Shell, crea una puerta de enlace de VPN externa con cuatro interfaces para las direcciones IP externas de AWS.
Antes de crear la puerta de enlace de VPN externa, verifica que las direcciones IP externas de AWS coincidan con los valores del archivo de configuración que descargaste. No puedes modificar estas direcciones IP después de crear la puerta de enlace de VPN externa. Si las direcciones no coinciden, no se puede establecer la conexión del túnel VPN con alta disponibilidad.
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 1AWS_GW_IP_2
: Dirección IP externa de la puerta de enlace privada virtual para la conexión 1, túnel 2AWS_GW_IP_3
: dirección IP externa de la puerta de enlace privada virtual para la conexión 2, túnel 1AWS_GW_IP_4
: dirección IP externa de la puerta de enlace privada virtual para la conexión 2, túnel 2
Crea cuatro túneles 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
Reemplaza lo siguiente:
PEER_GATEWAY_NAME
: Un nombre de la puerta de enlace externa de intercambio de tráfico que creaste en el paso 1REGION
: La región de Google Cloud en la que creas el túnelSHARED_SECRET
: Tu clave precompartida (PSK), que debe corresponderse con la clave precompartida para el túnel de socio que creas en tu puerta de enlace de intercambio de tráfico. Para generar una clave precompartida segura, consulta Genera una clave precompartida segura.ROUTER_NAME
: El nombre de la puerta de enlace de Cloud Router que creaste en la sección Crea la puerta de enlace de VPN con alta disponibilidad y Cloud Router en Google Cloud.HA_VPN_GATEWAY_NAME
: El nombre de la puerta de enlace de VPN con alta disponibilidad que creaste en la sección Crea la puerta de enlace de VPN con alta disponibilidad y Cloud Router en Google Cloud
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 red169.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
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
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
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
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
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
Prueba la conexión de VPN
Crea VMs de prueba en cada lado de los túneles para probar las solicitudes de ping.
Asegúrate de tener reglas de firewall de VPC para permitir el tráfico ICMP.
Si quieres obtener instrucciones para crear VMs de Compute Engine, consulta Crea y, luego, inicia una instancia de Compute Engine.
Si quieres obtener instrucciones para crear instancias de EC2 en AWS, consulta Cómo iniciar una instancia de Amazon EC2.
Prueba la conexión con el comando
ping
.- Si la prueba de
ping
falla, consulta los registros en Google Cloud y los registros de la VPN de sitio a sitio de AWS. Los mensajes de error en los registros pueden ayudarte a identificar el problema. Para aprender cómo solucionar problemas con tu conexión de VPN, consulta los siguientes recursos:
- Si la prueba de
Mide 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:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Borra los recursos de AWS
- Cómo borrar una conexión de VPN de sitio a sitio
- Borra la puerta de enlace de tránsito
- Cómo finalizar instancias de Amazon EC2
¿Qué sigue?
- Obtén más información sobre VPN de Google Cloud.
- Obtén más información sobre las prácticas recomendadas y arquitecturas de referencia para el diseño de VPC.