arrow_back

Balanceador de cargas basado en contenido HTTPS con Terraform

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

Balanceador de cargas basado en contenido HTTPS con Terraform

Lab 1 hora 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

GSP206

Logotipo de los labs de autoaprendizaje de Google Cloud

Descripción general

En este lab, crearás un balanceador de cargas HTTPS para reenviar tráfico a un mapa de URL personalizada. El mapa de URL envía el tráfico a la región más cercana con recursos estáticos que se entregan desde un bucket de Cloud Storage. Terraform genera la clave y el certificado TLS usando el proveedor de TLS.

A continuación, se muestra un diagrama de la arquitectura que crearás como parte de este lab:

La arquitectura de Terraform, en la que se incluyen Cloud Load Balancing, tres instancias y Cloud Storage.

Objetivos

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

  • Explorar los módulos de balanceo de cargas para Terraform
  • Configurar Terraform en el entorno de Google Cloud
  • Crear un balanceador de cargas HTTPS global basado en contenido

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: Clona el repositorio de muestra

Habilita Gemini Code Assist en el IDE de Cloud Shell

Puedes usar Gemini Code Assist en un entorno de desarrollo integrado (IDE) como Cloud Shell para recibir orientación sobre el código o resolver problemas con tu código. Antes de comenzar a usar Gemini Code Assist, debes habilitarlo.

  1. En Cloud Shell, habilita la API de Gemini for Google Cloud con el siguiente comando:
gcloud services enable cloudaicompanion.googleapis.com
  1. En la barra de herramientas de Cloud Shell, haz clic en Abrir editor.
Nota: Para abrir el editor de Cloud Shell, haz clic en Abrir editor en la barra de herramientas de Cloud Shell. Para cambiar entre Cloud Shell y el editor de código, haz clic en Abrir editor o Abrir terminal, según sea necesario.
  1. En el panel izquierdo, haz clic en el ícono de Configuración y, luego, en la vista Configuración, busca Gemini Code Assist.

  2. Busca la opción Geminicodeassist: Habilitar y asegúrate de que esté seleccionada. Luego, cierra la Configuración.

  3. Haz clic en Cloud Code - Sin proyecto en la barra de estado, en la parte inferior de la pantalla.

  4. Autoriza el complemento según las instrucciones. Si no se selecciona un proyecto automáticamente, haz clic en Seleccionar un proyecto de Google Cloud y elige .

  5. Verifica que tu proyecto de Google Cloud () se muestre en el mensaje de la barra de estado de Cloud Code.

Clona el repositorio y actualiza los archivos

  1. En la terminal de Cloud Shell, clona el repositorio terraform-google-lb-http:
git clone https://github.com/terraform-google-modules/terraform-google-lb-http.git
  1. Navega al directorio multi-backend-multi-mig-bucket-https-lb:
cd ~/terraform-google-lb-http/examples/multi-backend-multi-mig-bucket-https-lb
  1. En la barra de herramientas de Cloud Shell, haz clic en el ícono Abrir editor.

Para ayudarte a aumentar la productividad y, al mismo tiempo, minimizar el cambio de contexto, Gemini Code Assist proporciona acciones inteligentes potenciadas por IA directamente en tu editor de código. En esta sección, decides usar Gemini Code Assist para ayudarte a modificar algunos recursos con Terraform.

  1. En el explorador de archivos del editor de Cloud Shell, navega a terraform-google-lb-http > examples > multi-backend-multi-mig-bucket-https-lb > main.tf.

  2. Abre el archivo de configuración main.tf. Esta acción habilita Gemini Code Assist, como lo indica la presencia del ícono Gemini Code Assist: Smart Actions en la esquina superior derecha del editor.

  3. Haz clic en el ícono Gemini Code Assist: Smart Actions Gemini Code Assist en la barra de herramientas.

Quieres agregar los argumentos create_ssl_certificate y managed_ssl_certificate_domains a tu módulo gce-lb-https en el archivo de configuración main.tf.

  1. Para actualizar el archivo de configuración main.tf, pega la siguiente instrucción en el campo de texto intercalado de Gemini Code Assist que se abre desde la barra de herramientas.
In the main.tf configuration file, update the "gce-lb-https" module. Add the following arguments without altering other values: * create_ssl_certificate = true * managed_ssl_certificate_domains = ["example.com"]
  1. Para indicarle a Gemini Code Assist que modifique el código según corresponda, presiona INTRO.

  2. Cuando se te solicite en la vista Gemini Diff, haz clic en Aceptar.

Los argumentos actualizados para el módulo "gce-lb-https" en el archivo de configuración main.tf ahora se ven de la siguiente manera:

... create_url_map = false ssl = true create_ssl_certificate = true managed_ssl_certificate_domains = ["example.com"] private_key = tls_private_key.example.private_key_pem certificate = tls_self_signed_cert.example.cert_pem backends = { ...
  1. En el editor de Cloud Shell, navega a variables.tf del mismo directorio. Como antes, observa el ícono Gemini Code Assist: Smart Actions en la esquina superior derecha del editor.

  2. Haz clic en el ícono Gemini Code Assist: Smart Actions Gemini Code Assist en la barra de herramientas.

  3. Para actualizar las definiciones de región en el archivo variables.tf, pega la siguiente instrucción en el campo de texto intercalado de Gemini Code Assist que se abre desde la barra de herramientas.

Update the region definitions in the variables.tf file to meet the following requirements: * For the group1_region variable, set the "default" argument to {{{project_0.default_region | region 1}}}. * For the group2_region variable, set the "default" argument to {{{project_0.default_region_2 | region 2}}}. * For the group3_region variable, set the "default" argument to {{{project_0.default_region_3 | region 3}}}.
  1. Para indicarle a Gemini que modifique el código según corresponda, presiona INTRO.

  2. Cuando se te solicite en la vista Gemini Diff, haz clic en Aceptar.

Las definiciones de región actualizadas en los bloques de variables del archivo variables.tf ahora se ven de la siguiente manera:

variable "group1_region" { default = "{{{project_0.default_region | region 1}}}" } variable "group2_region" { default = "{{{project_0.default_region_2 | region 2}}}" } variable "group3_region" { default = "{{{project_0.default_region_3 | region 3}}}" } variable "network_name" { default = "ml-bk-ml-mig-bkt-s-lb" } variable "project" { type = string }
  1. Cuando termines de editar esta línea, recuerda guardar el archivo actualizado. Para ello, selecciona la opción File en el Editor de código y haz clic en Save.

Tarea 2: Ejecuta Terraform

Inicializa un directorio de trabajo

El comando terraform init se utiliza para inicializar un directorio de trabajo que contiene los archivos de configuración de Terraform. Este comando realiza varios pasos de inicialización diferentes para preparar el directorio de trabajo para su uso. Se recomienda ejecutar el comando varias veces para que se actualice el directorio de trabajo con los cambios en la configuración.

  • Ejecuta el siguiente comando:
terraform init

Resultado de ejemplo:

... Terraform has been successfully initialized!

Crea un plan de ejecución

El comando terraform plan se utiliza para crear un plan de ejecución. Terraform realiza una actualización (salvo que esté explícitamente inhabilitada) y, luego, determina las acciones necesarias para lograr el estado deseado que se especifica en los archivos de configuración.

Este comando es una forma conveniente de verificar si el plan de ejecución de un conjunto de cambios coincide con tus expectativas sin tener que realizar cambios en el estado o en los recursos reales. Por ejemplo, se podría ejecutar terraform plan antes de confirmar un cambio en el control de versiones para garantizar que se comportará según lo esperado.

  1. Ejecuta el siguiente comando para crear un plan de ejecución:
terraform plan -out=tfplan -var 'project={{{project_0.project_id | Project ID}}}'

Resultado de ejemplo:

... Plan: 43 to add, 0 to change, 0 to destroy.

Se puede usar el argumento opcional -out para guardar el plan generado en un archivo y ejecutarlo más tarde con terraform apply.

  1. Ejecuta el siguiente comando para generar una lista del contenido del directorio actual:
ls

Resultado de ejemplo:

diagram.png gceme.sh.tpl gcp-logo.svg main.tf mig.tf outputs.tf README.md test.sh tfplan tls.tf variables.tf

Toma nota del plan de Terraform guardado (tfplan).

Aplica los cambios

El comando terraform apply se usa para aplicar los cambios requeridos para lograr el estado deseado de la configuración o el conjunto de acciones predeterminadas que genera un plan de ejecución de Terraform.

  1. Ejecuta el siguiente comando para aplicar el plan de Terraform:
terraform apply tfplan

Resultado de ejemplo (el tuyo será distinto):

... Apply complete! Resources: 43 added, 0 changed, 0 destroyed. ... Outputs: asset-url = https://34.96.112.153/assets/gcp-logo.svg group1_region = us-west1 group2_region = us-central1 group3_region = us-east1 load-balancer-ip = 34.96.112.153

Verifica los recursos creados por Terraform:

  1. En la consola de Cloud, en el menú de navegación (Menú de navegación), haz clic en Ver todos los productos > Servicios de red > Balanceo de cargas.

  2. Espera hasta ver la marca de verificación verde en la columna Backends.

  3. Haz clic en el balanceador de cargas ml-bk-ml-mig-bkt-s-lb y verifica sus detalles.

Frontend del balanceador de cargas en el que se enumeran los detalles disponibles, incluidos los distintos protocolos, hosts y reglas de ruta de acceso.

Backend del balanceador de cargas en el que se enumeran los servicios de backend y los buckets, cada uno con elementos como Tipo, Zona y Capacidad.

  1. Ejecuta el siguiente comando para obtener una URL externa:
EXTERNAL_IP=$(terraform output | grep load-balancer-ip | cut -d = -f2 | xargs echo -n) echo https://${EXTERNAL_IP}
  1. Haz clic en el vínculo EXTERNAL_IP que se devuelve para abrir la URL del balanceador de cargas en una pestaña nueva del navegador. Tarda unos minutos en cargarse.
Nota: Si no obtienes el resultado esperado en el navegador, asegúrate de que tu panel de detalles del balanceador de cargas sea el mismo que el que se muestra en la captura de pantalla anterior y espera unos minutos. Nota: Si obtienes un error de privacidad, haz clic en Avanzado y, luego, continúa.

Deberías ver el logotipo de Google Cloud y los detalles de la instancia del grupo más cercano a tu región geográfica.

Detalles de la instancia de Google Cloud como Nombre, Zona, IP interna y Tipo de máquina.

Haz clic en Revisar mi progreso para verificar el objetivo. Aplicar los cambios en Terraform

  1. Ahora, agrega group1, group2 y group3 a la URL.

Tus URLs finales deben tener el siguiente aspecto (asegúrate de reemplazar EXTERNAL_IP por la IP del balanceador de cargas): https://EXTERNAL_IP/group1.

  • En group1, deberías ver el logotipo de Google Cloud y los detalles de la instancia del grupo en .

https://EXTERNAL_IP/group2

  • En group2, deberías ver el logotipo de Google Cloud y los detalles de la instancia del grupo en

https://EXTERNAL_IP/group3

  • En group3, deberías ver el logotipo de Google Cloud y los detalles de la instancia del grupo en

¡Felicitaciones!

En este lab, aprendiste a configurar módulos de balanceo de cargas en Terraform junto con Gemini Code Assist. Luego, usaste módulos para crear un balanceador de cargas HTTPS global basado en contenido y lo utilizaste para probar su respuesta al grupo más cercano a tu región geográfica.

Próximos pasos y más información

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: 2 de septiembre de 2025

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