arrow_back

Configura balanceadores de cargas de aplicaciones

Acceder Unirse
Obtén acceso a más de 700 labs y cursos

Configura balanceadores de cargas de aplicaciones

Lab 1 hora universal_currency_alt 1 crédito show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Obtén acceso a más de 700 labs y cursos

GSP155

Logotipo de los labs de autoaprendizaje de Google Cloud

Descripción general

En este lab práctico, aprenderás a configurar un balanceador de cargas de aplicaciones de capa 7 (L7) en máquinas virtuales (VMs) de Compute Engine. Los balanceadores de cargas L7 pueden comprender los protocolos HTTP(S), lo que les permite tomar decisiones de enrutamiento basadas en parámetros como la URL, los encabezados, las cookies y el contenido de la solicitud. Esto permite mejorar el rendimiento y la capacidad de respuesta de las aplicaciones.

Existen varias formas de balancear cargas en Google Cloud. En este lab, conocerás los pasos para configurar los siguientes balanceadores de cargas:

Es aconsejable que escribas los comandos por tu cuenta, ya que te ayudará a aprender los conceptos básicos. Muchos labs incluyen un bloque de código que contiene los comandos necesarios. Durante el lab, puedes copiar y pegar fácilmente los comandos del bloque de código en los lugares apropiados.

Objetivos

En este lab, aprenderás a realizar las siguientes tareas:

  • Configurar la región y la zona predeterminadas para tus recursos
  • Crear un balanceador de cargas de aplicaciones
  • Probar el tráfico a tus instancias

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

  1. 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
  2. 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.
  3. 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.

  4. Haz clic en Siguiente.

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

  6. 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.
  7. 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. Ícono del menú de navegación y campo de búsqueda

Activa Cloud Shell

Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.

  1. Haz clic en Activar Cloud Shell Ícono de Activar Cloud Shell en la parte superior de la consola de Google Cloud.

  2. Haz clic para avanzar por las siguientes ventanas:

    • Continúa en la ventana de información de Cloud Shell.
    • Autoriza a Cloud Shell para que use tus credenciales para realizar llamadas a la API de Google Cloud.

Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu Project_ID, . El resultado contiene una línea que declara el Project_ID para esta sesión:

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.

  1. Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
  1. Haz clic en Autorizar.

Resultado:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project

Resultado:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Nota: Para obtener toda la documentación de gcloud, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.

Tarea 1: Configura la región y la zona predeterminadas para todos los recursos

  1. Configura la región predeterminada:

    gcloud config set compute/region {{{project_0.default_region | Region}}}
  2. En Cloud Shell, configura la zona predeterminada:

    gcloud config set compute/zone {{{project_0.default_zone | Zone}}}

    Consulta la documentación Regiones y zonas de Compute Engine para obtener más información sobre cómo elegirlas.

Tarea 2. Crea varias instancias de servidor web

Para esta situación de balanceo de cargas, crea tres instancias de VM de Compute Engine e instala Apache en ellas. Luego, agrega una regla de firewall que permita que el tráfico HTTP llegue a las instancias.

El código proporcionado establece la zona en . Si configuras el campo tags, podrás hacer referencia a estas instancias de una sola vez, por ejemplo, con una regla de firewall. Con estos comandos, también se instala Apache en cada instancia y se les otorga una página principal única:

  1. Crea una máquina virtual www1 en tu zona predeterminada con el siguiente código:

    gcloud compute instances create www1 \ --zone={{{project_0.default_zone | Zone}}} \ --tags=network-lb-tag \ --machine-type=e2-small \ --image-family=debian-11 \ --image-project=debian-cloud \ --metadata=startup-script='#!/bin/bash apt-get update apt-get install apache2 -y service apache2 restart echo "

    Web Server: www1

    " | tee /var/www/html/index.html'
  2. Crea una máquina virtual www2 en tu zona predeterminada con el siguiente código:

    gcloud compute instances create www2 \ --zone={{{project_0.default_zone | Zone}}} \ --tags=network-lb-tag \ --machine-type=e2-small \ --image-family=debian-11 \ --image-project=debian-cloud \ --metadata=startup-script='#!/bin/bash apt-get update apt-get install apache2 -y service apache2 restart echo "

    Web Server: www2

    " | tee /var/www/html/index.html'
  3. Crea una máquina virtual www3 en tu zona predeterminada.

    gcloud compute instances create www3 \ --zone={{{project_0.default_zone | Zone}}} \ --tags=network-lb-tag \ --machine-type=e2-small \ --image-family=debian-11 \ --image-project=debian-cloud \ --metadata=startup-script='#!/bin/bash apt-get update apt-get install apache2 -y service apache2 restart echo "

    Web Server: www3

    " | tee /var/www/html/index.html'
  4. Crea una regla de firewall para permitir la entrada del tráfico externo a las instancias de VM:

    gcloud compute firewall-rules create www-firewall-network-lb \ --target-tags network-lb-tag --allow tcp:80

Ahora debes obtener las direcciones IP externas de tus instancias y verificar que se estén ejecutando.

  1. Ejecuta los siguientes comandos para generar una lista de tus instancias. Encontrarás las direcciones IP en la columna EXTERNAL_IP:

    gcloud compute instances list
  2. Verifica que cada instancia se esté ejecutando con curl (reemplaza [IP_ADDRESS] por la dirección IP externa de cada VM):

    curl http://[IP_ADDRESS]

    Haz clic en Revisar mi progreso para verificar que creaste un grupo de servidores web. Crear varias instancias de servidor web

Tarea 3: Crea un balanceador de cargas de aplicaciones

El balanceo de cargas de aplicaciones se implementa en Google Front End (GFE). Los GFE se distribuyen globalmente y operan juntos con el plano de control y la red global de Google. Puedes configurar reglas de URL que enruten algunas URLs a un conjunto de instancias y otras URLs a otras instancias.

Las solicitudes siempre se enrutan al grupo de instancias más cercano al usuario si el grupo tiene la capacidad suficiente y es apropiado para la solicitud. Si el grupo más cercano no tiene suficiente capacidad, la solicitud se envía al grupo más cercano que la tenga.

Para configurar un balanceador de cargas con un backend de Compute Engine, tus VMs deben estar en un grupo de instancias. El grupo de instancias administrado proporciona las VMs que ejecutan los servidores de backend de un balanceador de cargas de aplicaciones externo. En este lab, los backends entregan sus propios nombres de host.

  1. Primero crea la plantilla del balanceador de cargas:

    gcloud compute instance-templates create lb-backend-template \ --region={{{project_0.default_region | Region}}} \ --network=default \ --subnet=default \ --tags=allow-health-check \ --machine-type=e2-medium \ --image-family=debian-11 \ --image-project=debian-cloud \ --metadata=startup-script='#!/bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://169.254.169.254/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'

    Los grupos de instancias administrados (MIG) te permiten operar apps en varias VMs idénticas. Puedes hacer que tus cargas de trabajo sean escalables y tengan alta disponibilidad gracias a los servicios de MIG automatizados, que incluyen el escalado automático, la reparación automática, la implementación regional (en varias zonas) y la actualización automática.

  2. Crea un grupo de instancias administrado basado en la plantilla:

    gcloud compute instance-groups managed create lb-backend-group \ --template=lb-backend-template --size=2 --zone={{{project_0.default_zone | Zone}}}
  3. Crea la regla de firewall fw-allow-health-check:

    gcloud compute firewall-rules create fw-allow-health-check \ --network=default \ --action=allow \ --direction=ingress \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=allow-health-check \ --rules=tcp:80 Nota: La regla de entrada permite el tráfico de los sistemas de verificación de estado de Google Cloud (130.211.0.0/22 y 35.191.0.0/16). En este lab, se utiliza la etiqueta de destino allow-health-check para identificar las VMs.
  4. Ahora que las instancias están en funcionamiento, configura una dirección IP externa, estática y global que usarán tus clientes para llegar al balanceador de cargas:

    gcloud compute addresses create lb-ipv4-1 \ --ip-version=IPV4 \ --global

    Ten en cuenta la dirección IPv4 que estaba reservada:

    gcloud compute addresses describe lb-ipv4-1 \ --format="get(address)" \ --global Nota: Guarda esta dirección IP, ya que deberás consultarla más adelante en este lab.
  5. Crea una verificación de estado para el balanceador de cargas (con esto garantizarás que solo se envíe tráfico a los backends en buen estado):

    gcloud compute health-checks create http http-basic-check \ --port 80
  6. Crea un servicio de backend:

    gcloud compute backend-services create web-backend-service \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
  7. Agrega tu grupo de instancias como backend al servicio de backend:

    gcloud compute backend-services add-backend web-backend-service \ --instance-group=lb-backend-group \ --instance-group-zone={{{project_0.default_zone | Zone}}} \ --global
  8. Crea un mapa de URLs para enrutar las solicitudes entrantes al servicio de backend predeterminado:

    gcloud compute url-maps create web-map-http \ --default-service web-backend-service Nota: Un mapa de URLs es un recurso de configuración de Google Cloud que se usa para enrutar las solicitudes a servicios de backend o buckets de backend. Por ejemplo, con un balanceador de cargas de aplicaciones externo, puedes usar un solo mapa de URLs para enrutar solicitudes a diferentes destinos según las reglas configuradas en aquel mapa:

    • Las solicitudes de https://example.com/video se enrutan a un solo servicio de backend.
    • Las solicitudes de https://example.com/audio se envían a un servicio de backend diferente.
    • Las solicitudes de https://example.com/images se enrutan a un bucket de backend de Cloud Storage.
    • Las solicitudes de cualquier otra combinación de host y ruta de acceso se envían a un servicio de backend predeterminado.
  9. Crea un Proxy HTTP de destino para enrutar las solicitudes a tu mapa de URLs.

    gcloud compute target-http-proxies create http-lb-proxy \ --url-map web-map-http
  10. Crea una regla de reenvío global para enrutar las solicitudes entrantes al proxy:

    gcloud compute forwarding-rules create http-content-rule \ --address=lb-ipv4-1\ --global \ --target-http-proxy=http-lb-proxy \ --ports=80
Nota: Una regla de reenvío y su dirección IP correspondiente representan la configuración del frontend de un balanceador de cargas de Google Cloud. Consulta la guía de Descripción general sobre las reglas de reenvío para obtener más información acerca de los conceptos básicos.

Haz clic en Revisar mi progreso para verificar que creaste un balanceador de cargas de aplicaciones L7. Crear un balanceador de cargas de aplicaciones

Tarea 4: Prueba el tráfico enviado a las instancias

  1. En el campo Buscar de la consola de Google Cloud, escribe Balanceo de cargas y, luego, elige Balanceo de cargas en los resultados de la búsqueda.

  2. Haz clic en el balanceador de cargas que acabas de crear, web-map-http.

  3. En la sección Backend, haz clic en el nombre del backend y confirma que las VMs estén En buen estado. De lo contrario, espera unos minutos y vuelve a cargar la página.

  4. Cuando las VMs estén en buen estado, prueba el balanceador de cargas en un navegador web. Ve a http://IP_ADDRESS/ (reemplaza IP_ADDRESS por la dirección IP del balanceador de cargas que copiaste anteriormente).

Nota: Esto puede tardar de tres a cinco minutos. Si no te conectas, espera un minuto y, luego, vuelve a cargar el navegador.

El navegador debe mostrar una página con contenido que indique el nombre de la instancia que entregó la página, junto con su zona (por ejemplo, Page served from: lb-backend-group-xxxx).

Haz clic en Revisar mi progreso para probar el tráfico enviado a tus instancias. Probar el balanceador de cargas con un navegador web

¡Felicitaciones!

En este lab, creaste un balanceador de cargas de aplicaciones y practicaste con plantillas de instancias y grupos de instancias administrados para enviar tráfico a instancias de servidores web.

Próximos pasos y más información

Documentación adicional del balanceador de cargas:

Google Cloud proporciona mecanismos de verificación de estado que determinan si las instancias de backend responden al tráfico de manera correcta.

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: 18 de julio de 2025

Prueba más reciente del lab: 18 de julio 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.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usa una ventana de navegación privada o de Incógnito para ejecutar el lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.