GSP216

Descripción general
El Balanceo de cargas interno (ILB) de Google Cloud es un servicio fundamental para administrar y escalar tu infraestructura privada de aplicaciones. Permite distribuir el tráfico basado en TCP/UDP de manera eficiente entre las instancias de máquinas virtuales internas, lo que garantiza que tus aplicaciones tengan un alto nivel de disponibilidad y rendimiento dentro de tu red privada. Si proporcionas una sola dirección IP privada estable para tus servicios, el ILB simplifica la comunicación interna de las aplicaciones y mejora la resiliencia del sistema.
En este lab, configurarás un servicio interno creando dos grupos de instancias administrados en la misma región, lo que representa un patrón de implementación común para las aplicaciones con alta disponibilidad. Luego, configurarás y probarás de forma minuciosa un balanceador de cargas interno con estos grupos de instancias como backends. Esta configuración simula una situación del mundo real en la que una aplicación interna, como un microservicio, un extremo de API o una base de datos, debe ser accesible para otros servicios o aplicaciones internos sin exponerse al Internet público.

Objetivos
En este lab, aprenderás a realizar las siguientes tareas:
- Configurar reglas de firewall esenciales para permitir el tráfico HTTP seguro y las verificaciones de estado de los backends internos
- Diseñar e implementar plantillas de instancias para realizar implementaciones de VMs coherentes y escalables
- Crear y administrar grupos de instancias administrados para el escalado automático y la reparación automática de los backends de tus aplicaciones
- Configurar y probar un balanceador de cargas interno y demostrar su capacidad para distribuir el tráfico interno de manera eficaz y garantizar la disponibilidad del servicio
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
- Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón para abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debes usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
-
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}}
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}}
También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
-
Haz clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar.
Tarea 1: Configura reglas de firewall de HTTP y de verificación de estado
Las reglas de firewall adecuadas son la base de un entorno seguro y funcional con balanceo de cargas interno. Garantizan que solo el tráfico autorizado llegue a tus servicios de backend y que el balanceador de cargas pueda evaluar con precisión el estado de tus instancias.
Configura reglas de firewall para permitir el tráfico HTTP a los backends y el tráfico de TCP desde el verificador de estado de Google Cloud.
Explora la red my-internal-app
Ya se configuraron para ti la red my-internal-app
con subnet-a y subnet-b, y las reglas de firewall para el tráfico RDP, ICMP y SSH.
-
En la consola, ve al menú de navegación > Red de VPC > Redes de VPC.
-
Desplázate hacia abajo y observa la red my-internal-app y sus subredes: subnet-a y subnet-b.
Cada proyecto de Google Cloud comienza con la red default. Pero, además, se creó la red my-internal-app como parte del diagrama de red.
Crearás los grupos de instancias administrados en subnet-a y subnet-b. Ambas subredes se encuentran en la región , ya que un balanceador de cargas interno es un servicio regional. Los grupos de instancias administrados estarán en diferentes zonas, lo que garantiza que no se interrumpa el servicio ante fallas zonales.
Crea la regla de firewall de HTTP
Crea una regla de firewall para permitir el tráfico HTTP hacia los backends desde Internet y el balanceador de cargas (para instalar Apache en los backends).
-
En Red de VPC, en el panel izquierdo, haz clic en Firewall.
-
Observa las reglas de firewall app-allow-icmp y app-allow-ssh-rdp.
Estas reglas de firewall ya se crearon por ti.
-
Haz clic en + Crear regla de firewall.
-
Establece los siguientes valores y deja el resto con la configuración predeterminada:
Propiedad |
Valor (escribe el valor o selecciona la opción como se especifica) |
Nombre |
app-allow-http |
Red |
my-internal-app |
Destinos |
Etiquetas de destino especificadas |
Etiquetas de destino |
lb-backend |
Filtro de origen |
Rangos de IPv4 |
Rangos de IPv4 de origen |
10.10.0.0/16 |
Protocolos y puertos |
Protocolos y puertos especificados; marca tcp y escribe 80 |
Nota: Asegúrate de incluir el valor /16 en Rangos de IPv4 de origen para especificar todas las redes.
- Haz clic en Crear.
Crea las reglas de firewall de verificación de estado
Las verificaciones de estado determinan qué instancias de un balanceador de cargas pueden recibir conexiones nuevas. En el balanceo de cargas interno, los sondeos de verificación de estado de tus instancias de balanceo de cargas provienen de las direcciones dentro de los rangos 130.211.0.0/22
y 35.191.0.0/16
. Tus reglas de firewall deben permitir esas conexiones.
-
En la página Reglas de firewall, haz clic en + Crear regla de firewall.
-
Establece los siguientes valores y deja el resto con la configuración predeterminada:
Propiedad |
Valor (escribe el valor o selecciona la opción como se especifica) |
Nombre |
app-allow-health-check |
Red |
my-internal-app |
Destinos |
Etiquetas de destino especificadas |
Etiquetas de destino |
lb-backend |
Filtro de origen |
Rangos de IPv4 |
Rangos de IPv4 de origen |
130.211.0.0/22 y 35.191.0.0/16 |
Protocolos y puertos |
Protocolos y puertos especificados; marca tcp |
Nota: Asegúrate de ingresar los dos rangos IPv4 de origen, uno a la vez, y de agregar un ESPACIO entre ellos.
- Haz clic en Crear.
Haz clic en Revisar mi progreso para verificar el objetivo.
Configurar reglas de firewall de HTTP y de verificación de estado
Tarea 2: Configura las plantillas de instancias y crea los grupos de instancias
Las plantillas de instancias y los grupos de instancias administrados son la columna vertebral de las aplicaciones escalables, resilientes y fáciles de administrar. Permiten definir una configuración estándar para las VMs y, luego, administrar automáticamente su ciclo de vida, lo que garantiza la coherencia y habilita la recuperación y el escalado automáticos.
Un grupo de instancias administrado usa una plantilla de instancias para crear un grupo de instancias idénticas. Úsalas para crear los backends del balanceador de cargas interno.
Configura las plantillas de instancias
Una plantilla de instancias es un recurso de API que puedes usar para crear instancias de VM y grupos de instancias administrados. Las plantillas de instancias definen el tipo de máquina, la imagen de disco de arranque, la subred, las etiquetas y otras propiedades de las instancias. Crea una plantilla de instancias para las dos subredes de la red my-internal-app.
-
En la consola, ve al menú de navegación > Compute Engine > Plantillas de instancias.
-
Haz clic en Crear plantilla de instancias.
-
En Nombre, escribe instance-template-1.
-
En Ubicación, selecciona Global.
-
En Serie, selecciona E2.
-
En Tipo de máquina, selecciona Con núcleo compartido > e2-micro.
-
Haz clic en Opciones avanzadas.
-
Haz clic en Redes.
-
En Etiquetas de red, especifica lb-backend.
Nota: La etiqueta de red lb-backend garantiza que se apliquen las reglas de firewall de HTTP y de verificación de estado a estas instancias.
-
En Interfaces de red, haz clic en el ícono del menú desplegable para editar.
-
Establece los siguientes valores y deja el resto con la configuración predeterminada:
Propiedad |
Valor (escribe el valor o selecciona la opción como se especifica) |
Red |
my-internal-app |
Subred |
subnet-a |
Dirección IPv4 externa |
Ninguno |
-
Haz clic en Listo.
-
Haz clic en Administración.
-
En Metadatos, haz clic en Agregar elemento y especifica lo siguiente:
Clave 1 |
Valor 1 |
startup-script-url |
gs://spls/gsp216/startup.sh |
Nota: La clave startup-script-url especifica una secuencia de comandos que se ejecutará cuando se inicien las instancias. Esta secuencia de comandos instala Apache y cambia la página de bienvenida para incluir la IP del cliente y el nombre, la región y la zona de la instancia de VM. Puedes explorar esta secuencia de comandos.
- Haz clic en Crear.
- Espera a que se cree la plantilla de instancias.
Configura la próxima plantilla de instancias
Copia instance-template-1 para crear otra plantilla de instancias para subnet-b. Queda demostrado lo fácil que es replicar parámetros de configuración en diferentes subredes o zonas para estrategias de alta disponibilidad y recuperación ante desastres.
- Permanece en Plantillas de instancia, marca la casilla junto a instance-template-1 y, luego, haz clic en Copiar.
Asegúrate de actualizar el nombre a instance-template-2.
- Haz clic en Opciones avanzadas.
- Haz clic en la pestaña Redes.
- En Interfaces de red, haz clic en el ícono del menú desplegable para editar.
- Selecciona subnet-b como la Subred.
- Haz clic en Listo y, luego, en Crear.
Crea los grupos de instancias administrados
Los grupos de instancias administrados (MIG) son clave para obtener aplicaciones sólidas, con reparación automática y escalamiento dinámico. Reemplazan automáticamente las instancias en mal estado y pueden escalar la capacidad de la aplicación según la demanda, lo que garantiza que los servicios estén siempre disponibles y tengan un buen rendimiento sin necesidad de intervención manual constante. Son características fundamentales para controlar las cargas variables y mantener los objetivos de nivel de servicio (SLO).
Configura un grupo de instancias administrado en subnet-a y otro en subnet-b.
Nota: Identifica una de las otras zonas que se encuentran en la misma región que subnet-a. Por ejemplo, si tu zona de subnet-a es us-west2-a
, podrías seleccionar us-west2-b
para subnet-b.
-
En el panel izquierdo de Compute Engine, haz clic en Grupos de instancias y, luego, en Crear grupo de instancias.
-
Establece los siguientes valores y deja el resto con la configuración predeterminada:
Propiedad |
Valor (escribe el valor o selecciona la opción como se especifica) |
Nombre |
instance-group-1 |
Plantilla de instancias |
instance-template-1 |
Ubicación |
Zona única |
Región |
|
Zona |
|
Ajuste de escala automático > Cantidad mínima de instancias |
1 |
Escalado automático > Cantidad máxima de instancias |
1 |
Escalado automático > Indicadores de escalado automático (haz clic en el ícono del menú desplegable para editar) > Tipo de indicador |
Uso de CPU |
Uso de CPU objetivo |
80 |
Período de inicialización |
45 |
Nota: El escalado automático es una función fundamental de los grupos de instancias administrados que ajusta los recursos de forma dinámica según la carga medida. Esta función permite que tu aplicación maneje sin problemas el tráfico variable y optimice la inversión en la nube.
-
Haz clic en Crear.
Repite el mismo procedimiento para instance-group-2 en la zona diferente de la misma región que subnet-a:
-
Haz clic en Crear grupo de instancias.
-
Establece los siguientes valores y deja el resto con la configuración predeterminada:
Propiedad |
Valor (escribe el valor o selecciona la opción como se especifica) |
Nombre |
instance-group-2 |
Plantilla de instancias |
instance-template-2 |
Ubicación |
Zona única |
Región |
|
Zona |
Zona (utiliza la zona diferente en la misma región que subnet-a) |
Ajuste de escala automático > Cantidad mínima de instancias |
1 |
Escalado automático > Cantidad máxima de instancias |
1 |
Escalado automático > Indicadores de escalado automático (haz clic en el ícono del menú desplegable para editar) > Tipo de indicador |
Uso de CPU |
Uso de CPU objetivo |
80 |
Período de inicialización |
45 |
-
Haz clic en Crear.
Verifica los backends
Verifica que se creen las instancias de VM en ambas subredes y crea una VM de utilidad para acceder directamente a los sitios HTTP de los backends. Con este paso, se confirma la funcionalidad individual del backend antes de incorporar el balanceador de cargas, lo que garantiza la configuración adecuada de tu nivel de servicio.
-
En Compute Engine, haz clic en Instancias de VM.
-
Observa las dos instancias que comienzan con instance-group-1
y con instance-group-2
.
Estas instancias se encuentran en zonas separadas y sus direcciones IP internas son parte de los bloques CIDR de subnet-a y subnet-b.
-
Para crear una instancia nueva, haz clic en Crear instancia.
-
En la Configuración de la máquina.
Selecciona los siguientes valores:
Propiedad |
Valor (escribe el valor o selecciona la opción como se especifica) |
Nombre |
utility-vm |
Región |
|
Zona |
|
Serie |
E2 |
Tipo de máquina |
e2-micro (1 CPU virtual compartida) |
-
Haz clic en Redes.
En Interfaces de red, haz clic en Activar o desactivar para editar la interfaz de red.
Especifica lo siguiente:
Propiedad |
Valor (escribe el valor o selecciona la opción como se especifica) |
Red |
my-internal-app |
Subred |
subnet-a |
Dirección IPv4 interna principal |
Efímera (personalizada) |
Dirección IP efímera personalizada |
10.10.20.50 |
-
Haz clic en Listo y, luego, en Crear.
Haz clic en Revisar mi progreso para verificar el objetivo.
Configurar las plantillas de instancias y crear los grupos de instancias
- Las direcciones IP internas de los backends son
10.10.20.2
y 10.10.30.2
.
Nota: Si estas direcciones IP son diferentes, reemplázalas en los dos comandos de curl a continuación.
- En utility-vm, haz clic en SSH para iniciar una terminal y conectarte.
- Para verificar la página de bienvenida de
instance-group-1-xxxx
, ejecuta el siguiente comando:
curl 10.10.20.2
El resultado debería verse así:
<h1>Internal Load Balancing Lab</h1><h2>Client IP</h2>Your IP address : 10.10.20.50<h2>Hostname</h2>Server Hostname:
instance-group-1-1zn8<h2>Server Location</h2>Region and Zone: us-central1-a
- Para verificar la página de bienvenida de
instance-group-2-xxxx
, ejecuta el siguiente comando:
curl 10.10.30.2
El resultado debería verse así:
<h1>Internal Load Balancing Lab</h1><h2>Client IP</h2>Your IP address : 10.10.20.50<h2>Hostname</h2>Server Hostname:
instance-group-2-q5wp<h2>Server Location</h2>Region and Zone: us-central1-b
Nota: Los comandos curl expresan que cada instancia de VM indica la IP de cliente y su propio nombre y ubicación. Esto resultará útil para verificar que el balanceador de cargas interno envíe tráfico a ambos backends.
- Cierra la terminal SSH de utility-vm:
exit
Tarea 3: Configura el balanceador de cargas interno
La configuración del ILB centraliza el acceso a tus servicios de backend, proporciona un único punto de entrada para el tráfico interno y garantiza una distribución inteligente del tráfico según el estado y la capacidad de tus instancias. Este paso es fundamental para lograr los beneficios de alta disponibilidad y escalabilidad que se mencionaron anteriormente, ya que actúa como un punto de acceso centralizado para tu servicio distribuido.
Configura el balanceador de cargas interno para equilibrar el tráfico entre ambos backends (instance-group-1 e instance-group-2), como se ilustra en este diagrama:

Inicia la configuración
- En el menú de navegación, selecciona Ver todos los productos. En Redes, selecciona Servicios de red.
- Selecciona la página Balanceo de cargas.
- Haz clic en Crear balanceador de cargas.
- En Tipo de balanceador de cargas, selecciona Balanceador de cargas de red (TCP/UDP/SSL).
- En Proxy o transferencia, selecciona Balanceador de cargas de transferencias.
- En Orientado al público o para uso interno, selecciona Interno.
- Haz clic en CONFIGURAR.
- En Nombre, escribe
my-ilb
.
- En Región, selecciona .
- En Red, selecciona my-internal-app.
Configura el servicio de backend regional
El servicio de backend es el cerebro del ILB, ya que define cómo se distribuye el tráfico y cómo se supervisa el estado de las instancias. Es fundamental para garantizar que el tráfico solo fluya a las instancias operativas y evitar la sobrecarga. Aquí también puedes configurar funciones avanzadas, como la afinidad de sesión, para mantener la conexión de un usuario con el mismo backend, o el vaciado de conexiones, para realizar actualizaciones del backend sin problemas.
El servicio de backend supervisa los grupos de instancias y también impide que superen el uso configurado.
-
Haz clic en Configuración de backend.
-
Establece los siguientes valores y deja el resto con la configuración predeterminada:
Propiedad |
Valor (selecciona la opción como se especifica) |
Grupo de instancias |
instance-group-1 |
-
Haz clic en Agregar un backend.
-
Para Grupo de instancias, selecciona instance-group-2.
-
En Verificación de estado, selecciona Crear una verificación de estado.
-
Establece los siguientes valores y deja el resto con la configuración predeterminada:
Propiedad |
Valor (selecciona la opción como se especifica) |
Nombre |
my-ilb-health-check |
Protocolo |
TCP |
Puerto |
80 |
Nota: Las verificaciones de estado determinan qué instancias pueden recibir nuevas conexiones. Esta verificación de estado HTTP sondea las instancias cada 5 segundos, espera hasta 5 segundos a que llegue una respuesta y considera que 2 intentos exitosos o 2 intentos con errores indican que están en buen estado o en mal estado, respectivamente. Esta supervisión continua es esencial para recuperarse rápidamente de las fallas de instancias y mantener tus acuerdos de nivel de servicio (ANS).
- Haz clic en Crear.
- Verifica que haya una marca de verificación azul junto a Configuración de backend en la consola de Cloud. De no ser así, vuelve a revisar que hayas completado todos los pasos anteriores.
Configura el frontend
El frontend es la interfaz expuesta de tu ILB. Si asignas una dirección IP interna estática, proporcionas un extremo coherente y predecible al que se pueden conectar otros servicios internos, lo que simplifica la arquitectura de tu aplicación, permite un descubrimiento de servicios sencillo dentro de tu VPC y mejora la confiabilidad.
El frontend reenvía el tráfico al backend.
-
Haz clic en Configuración de frontend.
-
Especifica los siguientes valores y deja los demás con sus configuraciones predeterminadas:
Propiedad |
Valor (escribe el valor o selecciona la opción como se especifica) |
Subred |
subnet-b |
IP interna |
En Dirección IP, selecciona Crear dirección IP. |
-
Especifica los siguientes valores y deja los demás con sus configuraciones predeterminadas:
Propiedad |
Valor (escribe el valor o selecciona la opción como se especifica) |
Nombre |
my-ilb-ip |
Dirección IP estática |
Permitirme elegir |
Dirección IP personalizada |
10.10.30.5 |
-
Haz clic en Reservar.
-
En Número de puerto, escribe 80
.
-
Haz clic en Listo.
Revisa y crea el balanceador de cargas interno
-
Haz clic en Revisión y finalización.
-
Revisa el backend y el frontend.
-
Haz clic en Crear.
Espera a que se cree el balanceador de cargas antes de pasar a la siguiente tarea.
Haz clic en Revisar mi progreso para verificar el objetivo.
Configurar el balanceador de cargas interno
Tarea 4: Prueba el balanceador de cargas interno
La prueba final valida que el ILB distribuya correctamente el tráfico entre las instancias de backend en buen estado. Esta acción confirma que tus servicios internos ahora sean más resilientes y escalables, ya que aprovechan los beneficios principales del ILB, y que la conectividad privada se haya establecido correctamente.
Verifica que la dirección IP de my-ilb
reenvíe el tráfico a instance-group-1 y a instance-group-2.
Accede al balanceador de cargas interno
- En la consola de Cloud, ve al menú de navegación > Compute Engine > Instancias de VM.
- En utility-vm, haz clic en SSH para iniciar una terminal y conectarte.
- Para verificar que el balanceador de cargas interno reenvía el tráfico, ejecuta el siguiente comando:
curl 10.10.30.5
El resultado debería verse así:
<h1>Internal Load Balancing Lab</h1><h2>Client IP</h2>Your IP address : 10.10.20.50<h2>Hostname</h2>Server Hostname:
instance-group-1-1zn8<h2>Server Location</h2>Region and Zone: us-central1-a
Nota: Como es de esperar, el tráfico se reenvía desde el balanceador de cargas interno (10.10.30.5) al backend.
- Ejecuta el mismo comando un par de veces más.
En el resultado, deberías poder ver las respuestas de instance-group-1 en y de instance-group-2 en la zona diferente de la misma región. El balanceador de cargas distribuye el tráfico entre las instancias de backend, lo que demuestra su eficacia para garantizar la alta disponibilidad y distribuir la carga.
¡Felicitaciones!
Configuraste y probaste correctamente un balanceador de cargas interno, y comprendiste su rol fundamental en la creación de aplicaciones internas sólidas, escalables y seguras en Google Cloud.
Próximos pasos y más información
Si quieres obtener información sobre los conceptos básicos del balanceo de cargas, consulta la documentación de Google Cloud Load Balancing.
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.
Actualización más reciente del manual: 15 de septiembre de 2025
Prueba más reciente del lab: 26 de mayo de 2025
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.