GSP062

Descripción general
En este lab práctico, aprenderás a crear una VPN segura y de alta capacidad de procesamiento, y a probar la velocidad.
La comunicación segura entre Google Cloud y otras nubes o sistemas locales es una necesidad común y primordial. Por suerte, Google Cloud facilita la creación de redes privadas virtuales (VPN) seguras de seguridad del Protocolo de Internet (IPsec) para lograr este objetivo. Si un solo túnel no proporciona la capacidad de procesamiento necesaria, Google Cloud puede distribuir sin problemas el tráfico entre varios túneles para ofrecer ancho de banda adicional.
Objetivos
Crear una VPN
- Crear una nube privada virtual (VPC) llamada
cloud
con el objetivo de simular tu red de Google Cloud, además de una VPC llamada on-prem
(del inglés “on-premises”, “local”) para simular una red externa
- Crear puertas de enlace de VPN, reglas de reenvío y direcciones para la VPC
cloud
- Formar un túnel para la VPN nueva y enrutar el tráfico a través de esta
- Repetir el proceso de creación de VPN para la VPC
on-prem
y crear una segunda VPN
Probar las VPN
- Crear una máquina virtual (VM) con Compute Engine para probar las cargas de capacidad de procesamiento
- Probar la velocidad de la capacidad de procesamiento de una sola VPN con
iperf
Requisitos previos
Tarea 1. Crea la VPC “cloud”
En esta sección, deberás hacer lo siguiente:
- Crear una VPC para simular tu red de producción en la nube
- Permitir que los tipos comunes de tráfico circulen por la VPC
- Crear una subred para implementar hosts
- Después de iniciar Cloud Shell, ejecuta lo siguiente para crear una VPC personalizada que se llame
cloud
y esté asociada a tu proyecto de Google Cloud:
gcloud compute networks create cloud --subnet-mode custom
Esta VPC permite usar el direccionamiento IP no predeterminado, pero no incluye ninguna regla de firewall predeterminada.
- Ejecuta lo siguiente con el objetivo de habilitar
ICMP
y SSH
, ya que necesitarás una shell segura para comunicarte con las VMs durante la prueba de carga:
gcloud compute firewall-rules create cloud-fw --network cloud --allow tcp:22,tcp:5001,udp:5001,icmp
- Crea una subred dentro de esta VPC y especifica una región y un rango de IP con el siguiente comando:
gcloud compute networks subnets create cloud-east --network cloud \
--range 10.0.1.0/24 --region {{{project_0.default_region_2 | REGION2}}}
En esta solución, usarás 10.0.1.0/24
y la región .
Tarea 2. Crea la VPC “on-prem”
En esta sección, crearás una simulación de tu VPC on-prem
o de cualquier red que quieras conectar a cloud
. En la práctica, ya tendrás recursos aquí, pero sigue estos pasos para crear túneles y validar configuraciones.
- En Cloud Shell, ejecuta lo siguiente para crear una nueva VPC de subred personalizada que se llame
on-prem
y esté asociada a tu proyecto:
gcloud compute networks create on-prem --subnet-mode custom
- Ejecuta lo siguiente con el objetivo de habilitar
ICMP
y SSH
para los hosts de la VPC on-prem
, ya que necesitarás una shell segura para comunicarte con las VMs durante la prueba de carga:
gcloud compute firewall-rules create on-prem-fw --network on-prem --allow tcp:22,tcp:5001,udp:5001,icmp
- Especifica el prefijo de subred para la región a través del comando siguiente:
gcloud compute networks subnets create on-prem-central \
--network on-prem --range 192.168.1.0/24 --region {{{project_0.default_region |REGION}}}
Nota: En este ejemplo, asignas `192.168.1.0/24` a la región .
Crear dos VPC personalizadas con subredes y reglas de firewall.
Tarea 3. Crea puertas de enlace de VPN
Cada entorno requiere puertas de enlace de VPN para una comunicación externa segura. Sigue estos pasos para crear las puertas de enlace iniciales destinadas a las VPC llamadas cloud y on-prem
:
- En Cloud Shell, crea una puerta de enlace de VPN llamada
on-prem-gw1
en la VPC on-prem
y en la región :
gcloud compute target-vpn-gateways create on-prem-gw1 --network on-prem --region {{{project_0.default_region |REGION}}}
- Ahora, crea una puerta de enlace de VPN llamada
cloud-gw1
en la VPC cloud
y en la región :
gcloud compute target-vpn-gateways create cloud-gw1 --network cloud --region {{{project_0.default_region_2 | REGION2}}}
Tarea 4. Crea un túnel VPN basado en rutas entre redes locales y de Google Cloud
Cada puerta de enlace de VPN necesita una dirección IP externa y estática para que los sistemas fuera de la VPC puedan comunicarse con ellas. Ahora, crearás direcciones IP y rutas en las VPC llamadas cloud y on-prem
.
- En Cloud Shell, asigna la IP para la puerta de enlace de VPN
cloud-gw1
:
gcloud compute addresses create cloud-gw1 --region {{{project_0.default_region_2 | REGION2}}}
- Luego, asigna la IP para la puerta de enlace de VPN
on-prem-gw1
:
gcloud compute addresses create on-prem-gw1 --region {{{project_0.default_region |REGION}}}
- Almacena las direcciones de las puertas de enlace para no tener que buscarlas en los comandos siguientes.
Primero, ejecuta lo siguiente para la puerta de enlace cloud-gw1
:
cloud_gw1_ip=$(gcloud compute addresses describe cloud-gw1 \
--region {{{project_0.default_region_2 | REGION2}}} --format='value(address)')
Luego, ejecuta lo siguiente para la puerta de enlace on-prem-gw1
:
on_prem_gw_ip=$(gcloud compute addresses describe on-prem-gw1 \
--region {{{project_0.default_region |REGION}}} --format='value(address)')
- Ahora, crearás reglas de reenvío para IPsec en la VPC llamada
cloud
. Deberás crear reglas de reenvío en ambas direcciones.
Reenvía el protocolo de carga útil de seguridad de encapsulación (ESP) desde cloud-gw1
:
gcloud compute forwarding-rules create cloud-1-fr-esp --ip-protocol ESP \
--address $cloud_gw1_ip --target-vpn-gateway cloud-gw1 --region {{{project_0.default_region_2 | REGION2}}}
Reenvía el tráfico UDP:500
desde cloud-gw1:
gcloud compute forwarding-rules create cloud-1-fr-udp500 --ip-protocol UDP \
--ports 500 --address $cloud_gw1_ip --target-vpn-gateway cloud-gw1 --region {{{project_0.default_region_2 | REGION2}}}
Reenvía el tráfico UDP:4500
desde cloud-gw1:
gcloud compute forwarding-rules create cloud-fr-1-udp4500 --ip-protocol UDP \
--ports 4500 --address $cloud_gw1_ip --target-vpn-gateway cloud-gw1 --region {{{project_0.default_region_2 | REGION2}}}
- Usa el mismo método con el objetivo de crear reglas de reenvío de firewall para el túnel de IPsec en la VPC llamada
on-prem
. Esta acción permitirá que el túnel de IPsec salga de tus firewalls:
Reenvía el protocolo de ESP desde on-prem-gw1
:
gcloud compute forwarding-rules create on-prem-fr-esp --ip-protocol ESP \
--address $on_prem_gw_ip --target-vpn-gateway on-prem-gw1 --region {{{project_0.default_region |REGION}}}
Reenvía el tráfico UDP:500
que se usa para establecer el túnel de IPsec desde on-prem-gw1:
gcloud compute forwarding-rules create on-prem-fr-udp500 --ip-protocol UDP --ports 500 \
--address $on_prem_gw_ip --target-vpn-gateway on-prem-gw1 --region {{{project_0.default_region |REGION}}}
Reenvía el tráfico UDP:4500
, que lleva el tráfico encriptado desde on-prem-gw1
:
gcloud compute forwarding-rules create on-prem-fr-udp4500 --ip-protocol UDP --ports 4500 \
--address $on_prem_gw_ip --target-vpn-gateway on-prem-gw1 --region {{{project_0.default_region |REGION}}}
Crear dos puertas de enlace de VPN y las reglas de reenvío necesarias.
En general, necesitarías generar un secreto para el paso siguiente, en el que crearás y validarás los túneles on-prem-tunnel1
y cloud-tunnel1
. Para obtener información sobre cómo crear y almacenar secretos de forma segura, consulta la Guía de descripción general de conceptos de Secret Manager. Por ahora, solo usa la cadena “sharedsecret”.
Crea un túnel para la red local, on-prem-tunnel1
, y otro para la red basada en la nube, cloud-tunnel1
. Cada red debe tener una puerta de enlace de VPN, y los secretos deben coincidir. En una situación de producción, en los próximos dos comandos reemplazarías [MY_SECRET]
por el secreto que generó. En este caso, reemplázalo por "sharedsecret".
- Crea el túnel VPN desde
on-prem
hasta cloud
:
gcloud compute vpn-tunnels create on-prem-tunnel1 --peer-address $cloud_gw1_ip \
--target-vpn-gateway on-prem-gw1 --ike-version 2 --local-traffic-selector 0.0.0.0/0 \
--remote-traffic-selector 0.0.0.0/0 --shared-secret=[MY_SECRET] --region {{{project_0.default_region |REGION}}}
- Crea el túnel VPN desde cloud hasta on-prem:
gcloud compute vpn-tunnels create cloud-tunnel1 --peer-address $on_prem_gw_ip \
--target-vpn-gateway cloud-gw1 --ike-version 2 --local-traffic-selector 0.0.0.0/0 \
--remote-traffic-selector 0.0.0.0/0 --shared-secret=[MY_SECRET] --region {{{project_0.default_region_2 | REGION2}}}
Ahora que creaste las puertas de enlace y compilaste los túneles, debes agregar rutas desde las subredes a través de los dos túneles.
- Enruta el tráfico desde la VPC
on-prem
hasta el rango cloud 10.0.1.0/24
a través del túnel:
gcloud compute routes create on-prem-route1 --destination-range 10.0.1.0/24 \
--network on-prem --next-hop-vpn-tunnel on-prem-tunnel1 \
--next-hop-vpn-tunnel-region {{{project_0.default_region |REGION}}}
- Enruta el tráfico desde la VPC
cloud
hasta el rango on-prem 192.168.1.0/24
a través del túnel:
gcloud compute routes create cloud-route1 --destination-range 192.168.1.0/24 \
--network cloud --next-hop-vpn-tunnel cloud-tunnel1 --next-hop-vpn-tunnel-region {{{project_0.default_region_2 | REGION2}}}
Crear dos túneles VPN.
Tarea 5. Prueba la capacidad de procesamiento en la VPN
En este punto, estableciste una ruta segura entre las VPC on-prem y cloud. Para probar la capacidad de procesamiento, utiliza iperf, una herramienta de código abierto que permite probar las cargas de red. Para hacer la prueba, necesitarás una VM en cada entorno: una que envíe tráfico y otra que lo reciba. Crearás estas VMs a continuación.
Prueba de carga de una sola VPN
A continuación, crearás una máquina virtual para la VPC cloud con el nombre cloud-loadtest
. En este ejemplo, se usa una imagen de Debian Linux para el SO.
Nota: Si ya tienes un proyecto, puedes omitir este paso y usar los recursos existentes. El ancho de banda para una VM es de 2 Gbps * CPU virtuales, por lo que necesitarás un mínimo de 4 CPU virtuales.
- Ejecuta este comando:
gcloud compute instances create "cloud-loadtest" --zone {{{project_0.default_zone_2 |ZONE2}}} \
--machine-type "e2-standard-4" --subnet "cloud-east" \
--image-family "debian-11" --image-project "debian-cloud" --boot-disk-size "10" \
--boot-disk-type "pd-standard" --boot-disk-device-name "cloud-loadtest"
- Crea una máquina virtual para la VPC
on-prem
llamada on-prem-loadtest
. En este ejemplo, se usa la misma imagen de Debian que en la VPC cloud. Omite este paso si ya tienes recursos.
Ejecuta este comando:
gcloud compute instances create "on-prem-loadtest" --zone {{{project_0.default_zone |ZONE}}} \
--machine-type "e2-standard-4" --subnet "on-prem-central" \
--image-family "debian-11" --image-project "debian-cloud" --boot-disk-size "10" \
--boot-disk-type "pd-standard" --boot-disk-device-name "on-prem-loadtest"
- Establece una conexión SSH a cada VM, ya sea a través de la consola o la línea de comandos y, además, instala una copia de iperf con la línea de comandos siguiente:
sudo apt-get install iperf
- En la VM
on-prem-loadtest
, ejecuta este comando:
iperf -s -i 5
Creaste un servidor de iperf en la VM que informa su estado cada 5 segundos.
- En la VM
cloud-loadtest
, ejecuta este comando:
iperf -c 192.168.1.2 -P 20 -x C
De esta manera, se creará un cliente de iperf con veinte transmisiones que informarán valores luego de 10 segundos de prueba:
Crear dos VMs e instalar iperf a través de SSH.
Solución de problemas que pueden surgir
Nota: Esto no está incluido en las instrucciones del lab.
- Si olvidaste reemplazar [MY_SECRET] por “sharedsecret” cuando creaste los túneles para la red local,
puedes ejecutar el comando siguiente para borrar los túneles VPN creados:
gcloud compute vpn-tunnels delete [tunnel-name] --region [region]
- Reemplaza [tunnel-name] por el nombre del túnel.
- Reemplaza [region] por la región que especificaste cuando creaste el túnel.
- Si tienes problemas con la sección Prueba de carga de una sola VPN:
-
Asegúrate de haber instalado iperf en ambas VM.
-
Si recibes un error de conexión rechazada, verifica lo siguiente:
- Las reglas de firewall para las redes creadas (tcp:5001)
- Que el servidor se esté ejecutando correctamente en
on-prem-loadtest
- Que estás intentando conectarte al servidor a través de
cloud-loadtest
- Si estás intentando ver las reglas de reenvío que creaste en la consola, verifica lo siguiente:
- En el menú de navegación, ve a la sección Herramientas de redes.
- Haz clic en Conectividad de red > VPN.
- Haz clic en la puerta de enlace de Cloud VPN para ver su página de detalles.
¡Felicitaciones!
Finaliza la Quest
Estos labs de autoaprendizaje forman parte de las Quests Network Performance and Optimization y Security & Identity Fundamentals. Una Quest es una serie de labs relacionados que forman una ruta de aprendizaje. Si completas una Quest, obtendrás una insignia como reconocimiento por tu logro. Puedes hacer públicas tus insignias y agregar vínculos a ellas en tu currículum en línea o en tus cuentas de redes sociales. Inscríbete en cualquier Quest que contenga este lab y obtén un crédito inmediato de finalización. Consulta el catálogo de Google Cloud Skills Boost para ver todas las Quests disponibles.
Completa el próximo lab
Continúa la Quest con Cloud CDN o consulta estas sugerencias:
Próximos pasos
Capacitación y certificación de Google Cloud
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Última actualización del manual: 10 de enero de 2024
Prueba más reciente del lab: 10 de enero de 2024
Copyright 2025 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.