Cargando…
No se encontraron resultados.

Aplica tus habilidades en la consola de Google Cloud

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

Cómo crear balanceos de cargas entre regiones

Lab 45 minutos universal_currency_alt 5 créditos show_chart Intermedio
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

GSP157

Logotipo de los labs de autoaprendizaje de Google Cloud

Descripción general

En este lab, se demuestra cómo crear un balanceador de cargas HTTP(S) que reenvía el tráfico a instancias en dos regiones diferentes. En este lab, crearás cuatro instancias de Compute Engine, dos en cada una de las dos regiones diferentes. Luego, configuras el resto del sistema para que las conexiones entrantes se envíen a la instancia adecuada.

Los recursos que crees se conectarán entre sí como se muestra aquí:

Diagrama de arquitectura de balanceo de cargas

Configuración

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.

En estas instrucciones, se supone que usas una red de VPC en modo automático o una red heredada. Si usas una red de VPC en modo personalizado, algunos de los pasos que se indican a continuación, como crear una instancia, requerirán que especifiques el rango de subred.

Tarea 1: Configura instancias

Crea instancias de máquina virtual en dos regiones diferentes para recibir el tráfico reenviado desde el balanceador de cargas. Configura las instancias de máquina para realizar pruebas y asígnale a todas la misma etiqueta, que usará una regla de firewall para permitir el tráfico entrante.

La secuencia de comandos de inicio instala Apache y crea una página principal única para cada instancia.

  1. Crea las dos instancias en la región :
gcloud compute instances create www-1 \ --image-family debian-11 \ --image-project debian-cloud \ --machine-type e2-micro \ --zone {{{project_0.default_zone |ZONE}}} \ --tags http-tag \ --metadata startup-script="#! /bin/bash apt-get update apt-get install apache2 -y service apache2 restart {{{project_0.startup_script.index_html1_code|Code}}}" gcloud compute instances create www-2 \ --image-family debian-11 \ --image-project debian-cloud \ --machine-type e2-micro \ --zone {{{project_0.default_zone |ZONE}}} \ --tags http-tag \ --metadata startup-script="#! /bin/bash apt-get update apt-get install apache2 -y service apache2 restart {{{project_0.startup_script.index_html_code|Code}}}"

Haz clic en Revisar mi progreso para verificar el objetivo.

Configura las instancias para la región principal
  1. Crea las dos instancias en la región :
gcloud compute instances create www-3 \ --image-family debian-11 \ --image-project debian-cloud \ --machine-type e2-micro \ --zone {{{project_0.default_zone_2 |ZONE 2}}} \ --tags http-tag \ --metadata startup-script="#! /bin/bash apt-get update apt-get install apache2 -y service apache2 restart {{{project_0.startup_script.index_html2_code|Code}}}" gcloud compute instances create www-4 \ --image-family debian-11 \ --image-project debian-cloud \ --machine-type e2-micro \ --zone {{{project_0.default_zone_2 |ZONE 2}}} \ --tags http-tag \ --metadata startup-script="#! /bin/bash apt-get update apt-get install apache2 -y service apache2 restart {{{project_0.startup_script.index_html3_code|Code}}}"

Haz clic en Revisar mi progreso para verificar el objetivo.

Configura las instancias para la región secundaria
  1. Crea una regla de firewall para permitir el tráfico externo a tus instancias de máquinas virtuales. Esta regla permite el tráfico de todas las fuentes, lo que es útil mientras configuras y pruebas tu configuración.

La regla de firewall usa la etiqueta http-tag que creaste antes. La regla de firewall permite que el tráfico llegue a las instancias con la etiqueta en el puerto designado:

gcloud compute firewall-rules create www-firewall \ --target-tags http-tag --allow tcp:80
  1. Verifica que las instancias se estén ejecutando. Enumera tus instancias para obtener sus direcciones IP de la columna EXTERNAL_IP:
gcloud compute instances list
  1. Copia la IP externa de cada instancia y pégala en una nueva pestaña del navegador para probar que las instancias se estén ejecutando y que los servidores web estén configurados correctamente y puedan responder con la página principal predeterminada a través del puerto de firewall abierto.

Tarea 2: Configura servicios para el balanceo de cargas

Ahora que tus instancias ya están en funcionamiento, configura los servicios necesarios para el balanceo de cargas. Crea lo siguiente:

  • Una dirección IP externa estática global que es la dirección IP externa que tus clientes usan para llegar a tu balanceador de cargas.
  • Grupos de instancias para mantener tus instancias.
  • Una verificación de estado, que sondea tus instancias para ver si están en buen estado. El balanceador de cargas solo envía tráfico a instancias en buen estado.

Para configurar estos servicios, sigue estos pasos:

  1. Crea una dirección IP externa estática global IPv4 para tu balanceador de cargas:
gcloud compute addresses create lb-ip-cr \ --ip-version=IPV4 \ --global
  1. Crea un grupo de instancias para cada una de tus zonas:
gcloud compute instance-groups unmanaged create {{{project_0.default_region |REGION}}}-resources-w --zone {{{project_0.default_zone |ZONE}}} gcloud compute instance-groups unmanaged create {{{project_0.default_region_2 |REGION 2}}}-resources-w --zone {{{project_0.default_zone_2 |ZONE 2}}}
  1. Agrega al grupo de instancias las que creaste anteriormente:
gcloud compute instance-groups unmanaged add-instances {{{project_0.default_region |REGION}}}-resources-w \ --instances www-1,www-2 \ --zone {{{project_0.default_zone |ZONE}}} gcloud compute instance-groups unmanaged add-instances {{{project_0.default_region_2 |REGION 2}}}-resources-w \ --instances www-3,www-4 \ --zone {{{project_0.default_zone_2 |ZONE 2}}}
  1. Crea una verificación de estado.
gcloud compute health-checks create http http-basic-check

Tarea 3: Configura el servicio de balanceo de cargas

El balanceo de cargas implica varios servicios conectados. En esta sección, configurarás y conectarás los servicios.

  • Puertos con nombre, que el balanceador de cargas usa para dirigir el tráfico a grupos de instancias.
  • Servicios de backend, que supervisan el uso y el estado de las instancias. Los servicios de backend saben si las instancias del grupo de instancias pueden recibir tráfico. Si no pueden y hay instancias subutilizadas en otros lugares, el balanceador de cargas redirecciona el tráfico a esas instancias.
  • Un Mapa de URL, que analiza la URL de la solicitud y puede reenviar solicitudes a servicios de backend específicos en función del host y la ruta de la solicitud URL. En el ejemplo, como no usamos reenvíos basados en el contenido, el mapa de URL solo contendrá la asignación predeterminada.
  • Uno o más recursos de certificado SSL, si usas HTTPS, que contiene información de certificado SSL para el balanceador de cargas. Puedes usar varios certificados SSL y debes crear un recurso de certificado SSL para cada certificado.
  • Una política de SSL opcional, si usas HTTPS.
  • Un proxy de destino, que recibe la solicitud del usuario y la reenvía al mapa de URL. El proxy de destino es el servicio que desencripta el tráfico SSL con el recurso de certificado SSL. El proxy de destino puede reenviar tráfico a tus instancias a través de HTTP o HTTPS.
  • Dos reglas de reenvío globales, una para IPv4 y otra para IPv6, que contienen los recursos de la dirección IP externa global. Las reglas de reenvío global reenvían la solicitud entrante al proxy de destino.
  1. Para cada grupo de instancias, define un servicio HTTP y asigna un nombre de puerto al puerto pertinente:
gcloud compute instance-groups unmanaged set-named-ports {{{project_0.default_region |REGION}}}-resources-w \ --named-ports http:80 \ --zone {{{project_0.default_zone |ZONE}}} gcloud compute instance-groups unmanaged set-named-ports {{{project_0.default_region_2 |REGION 2}}}-resources-w \ --named-ports http:80 \ --zone {{{project_0.default_zone_2 |ZONE 2}}}

Haz clic en Revisar mi progreso para verificar el objetivo.

Reserva una dirección IPv4, crea grupos de instancias y una verificación de estado
  1. Crea un servicio de backend y especifica sus parámetros. Configura el campo --protocol como HTTP, ya que se usa HTTP para ir a las instancias. Usa la verificación de estado http-basic-check que se creó antes como verificación de estado.
gcloud compute backend-services create web-map-backend-service \ --protocol HTTP \ --health-checks http-basic-check \ --global
  1. Agrega tus grupos de instancias como backends a los servicios de backend. Un backend define la capacidad (uso de CPU máximo o consultas máximas por segundo) de los grupos de instancias que contiene. En este ejemplo, establece el modo de balanceo en uso de CPU, el uso máximo en un 80% y el ajuste de escala de capacidad en 1. Establece el ajuste de escala de capacidad en 0 si deseas desviar un servicio de backend:
gcloud compute backend-services add-backend web-map-backend-service \ --balancing-mode UTILIZATION \ --max-utilization 0.8 \ --capacity-scaler 1 \ --instance-group {{{project_0.default_region |REGION}}}-resources-w \ --instance-group-zone {{{project_0.default_zone |ZONE}}} \ --global gcloud compute backend-services add-backend web-map-backend-service \ --balancing-mode UTILIZATION \ --max-utilization 0.8 \ --capacity-scaler 1 \ --instance-group {{{project_0.default_region_2 |REGION 2}}}-resources-w \ --instance-group-zone {{{project_0.default_zone_2 |ZONE 2}}} \ --global

Haz clic en Revisar mi progreso para verificar el objetivo.

Crea servicios de backend y agrega un grupo de instancias en ellos
  1. Crea un mapa de URL predeterminado que dirija todas las solicitudes entrantes a todas sus instancias:
gcloud compute url-maps create web-map \ --default-service web-map-backend-service
  1. 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
  1. Busca las direcciones IP estáticas que creaste para tu balanceador de cargas. La usarás en la próxima tarea.
gcloud compute addresses list
  1. Crea una regla de reenvío global IPv4 para enrutar las solicitudes entrantes al proxy. Reemplaza [LB_IP_ADDRESS] en el comando por la dirección IPv4 estática que creaste:
gcloud compute forwarding-rules create http-cr-rule \ --address [LB_IP_ADDRESS] \ --global \ --target-http-proxy http-lb-proxy \ --ports 80 Nota: Después de crear la regla de reenvío global, la configuración puede tardar varios minutos en propagarse.

Haz clic en Revisar mi progreso para verificar el objetivo.

Crea un mapa de URL y un proxy HTTP de destino para el mapa de URL

Tarea 4: Envía tráfico a tus instancias

Ahora que ya configuraste el servicio de balanceo de cargas, puedes comenzar a enviar tráfico a la regla de reenvío y mirar cómo se dispersa el tráfico a las diferentes instancias.

  1. Busca las direcciones IP de tus reglas de reenvío globales:
gcloud compute forwarding-rules list
  1. En la consola, busca Balanceo de cargas y selecciona el primer resultado. En la página de balanceo de cargas, verás un círculo verde con una marca de verificación en la línea web-map.

La página Balanceo de cargas muestra la línea del mapa web.

  1. Haz clic en el balanceador de cargas (web-map) para ver los detalles. En la sección Backend de la página, revisa la columna En buen estado para confirmar que las instancias estén funcionando de forma adecuada. La información sobre el estado de las instancias puede tardar unos minutos en aparecer en la pantalla.

  2. Una vez que puedas ver que las instancias están en buen estado, haz clic en menú avanzado para acceder a información detallada sobre el balanceador de cargas.

  3. En la sección Frontend, copia la dirección IP y pégala en el navegador para mostrar el contenido predeterminado de una de las instancias del grupo de instancias más cercano a ti.

La página de detalles del balanceo de cargas muestra el puerto IP destacado.

El balanceador de cargas reenvía tu solicitud a la instancia disponible más cercana.

En este lab, creaste instancias de lab en las regiones y . La respuesta de las instancias depende de la distancia a la que te encuentres de estas regiones cuando realices el lab.

Por ejemplo, si tu ubicación geográfica actual está más cerca de la región us-central1, obtendrás una respuesta de las instancias de la región us-central1.

Para obtener más detalles sobre las zonas y regiones en Google Cloud, visita Regiones y zonas.

  1. Vuelve a cargar la página varias veces. El contenido de la página variará a medida que el balanceador de cargas reenvíe entre las dos instancias del grupo de instancias. Por ejemplo (es posible que veas las instancias en un orden diferente):

Volver a cargar

La página muestra www-1

Volver a cargar

La página muestra www-2

Volver a cargar

La página muestra www-2

Volver a cargar

La página muestra www-1

Si usaste un certificado autofirmado para las pruebas, el navegador mostrará una advertencia. Deberás indicarle de manera explícita a tu navegador que acepte el certificado.

Nota: Deberías ver respuestas de la región más cercana a ti. Si al principio tu respuesta es incorrecta, es posible que debas esperar unos minutos para que la configuración se cargue por completo y tus instancias se marquen como en buen estado antes de intentar otra vez. Cada vez que se recargue la página, es posible que se muestre la otra instancia. Para simular un usuario en otra geografía, intenta usar un proxy web para hacer las solicitudes.

Tarea 5: Desactivar el acceso HTTP desde cualquier lugar, excepto el servicio de balanceo de cargas

  1. Una vez que todo funcione, modifica tus reglas de firewall para que el tráfico HTTP(S) a tus instancias solo pueda provenir de tu servicio de balanceo de cargas:
gcloud compute firewall-rules create allow-lb-and-healthcheck \ --source-ranges 130.211.0.0/22,35.191.0.0/16 \ --target-tags http-tag \ --allow tcp:80
  1. Quita la regla que permite el tráfico HTTP(S) de otras fuentes:
gcloud compute firewall-rules delete www-firewall

Prueba que el balanceador de cargas pueda llegar a las instancias, pero que otras fuentes no puedan hacerlo.

  1. Busca la dirección IP de tu regla de reenvío global.
gcloud compute addresses list
  1. Copia y pega la dirección IP en tu navegador para asegurarte de que el reenvío funcione.

  2. Ahora, busca la dirección IP de tus instancias individuales y anota las direcciones en la columna EXTERNAL_IP:

gcloud compute instances list
  1. Copia y pega una dirección para una instancia en tu navegador.

Como quitaste la regla de firewall que permite el tráfico HTTP(S) de otras fuentes, esto fallará. Las instancias solo aceptan tráfico de los rangos de origen definidos en la regla de firewall allow-lb-and-healthcheck.

Tarea 6 (opcional): Quita las IPs externas, excepto la de un host de bastión

El balanceo de cargas de HTTP usa las IPs internas de los destinos, no sus IPs externas. Una vez que el balanceo de cargas funcione, puedes aumentar la seguridad quitando las IPs externas de tus objetivos de balanceo de cargas y, luego, conectarte a través de una instancia intermediaria para realizar tareas en las instancias con balanceo de cargas. De esta forma, nadie fuera de tu red de VPC podrá acceder a ellas de ninguna manera, excepto a través del balanceador de cargas.

Necesitarás al menos una instancia en tu red de VPC que tenga una dirección IP externa, normalmente una instancia designada para este propósito.

Si borras todas las direcciones IP externas por accidente, puedes usar Cloud Console para crear una nueva.

Quita la dirección IP externa de una instancia

  1. Ejecuta el siguiente comando para quitar la dirección IP externa de una instancia. Anota el nombre de la instancia como se muestra en el campo NAME:
gcloud compute instances list
  1. Borra la configuración de acceso de la instancia. En NAME, coloca el nombre de la instancia:
gcloud compute instances delete-access-config NAME

¡Felicitaciones!

¡Felicitaciones! En este lab, configuraste y probaste una función de balanceo de cargas entre regiones. Este lab proporcionó una experiencia práctica en la configuración del balanceo de cargas entre regiones con el balanceo de cargas HTTP(S). Con la implementación exitosa de instancias en dos regiones y la configuración del balanceador de cargas para distribuir el tráfico, obtuviste conocimientos prácticos sobre cómo Google Cloud puede garantizar la alta disponibilidad y la tolerancia a errores para tus aplicaciones.

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: 5 de noviembre de 2024

Prueba más reciente del lab: 5 de noviembre de 2023

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.