GSP206

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:

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
-
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.
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.
-
Haz clic en Activar Cloud Shell
en la parte superior de la consola de Google Cloud.
-
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.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
- Haz clic en Autorizar.
Resultado:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- 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.
- En Cloud Shell, habilita la API de Gemini for Google Cloud con el siguiente comando:
gcloud services enable cloudaicompanion.googleapis.com
- 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.
-
En el panel izquierdo, haz clic en el ícono de Configuración y, luego, en la vista Configuración, busca Gemini Code Assist.
-
Busca la opción Geminicodeassist: Habilitar y asegúrate de que esté seleccionada. Luego, cierra la Configuración.
-
Haz clic en Cloud Code - Sin proyecto en la barra de estado, en la parte inferior de la pantalla.
-
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 .
-
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
- 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
- Navega al directorio
multi-backend-multi-mig-bucket-https-lb
:
cd ~/terraform-google-lb-http/examples/multi-backend-multi-mig-bucket-https-lb
- 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.
-
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.
-
Abre el archivo de configuración main.tf
. Esta acción habilita Gemini Code Assist, como lo indica la presencia del ícono
en la esquina superior derecha del editor.
-
Haz clic en el ícono Gemini Code Assist: Smart Actions
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
.
- 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"]
-
Para indicarle a Gemini Code Assist que modifique el código según corresponda, presiona INTRO.
-
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 = {
...
-
En el editor de Cloud Shell, navega a variables.tf
del mismo directorio. Como antes, observa el ícono
en la esquina superior derecha del editor.
-
Haz clic en el ícono Gemini Code Assist: Smart Actions
en la barra de herramientas.
-
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}}}.
-
Para indicarle a Gemini que modifique el código según corresponda, presiona INTRO.
-
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
}
- 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.
- 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
.
- 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.
- 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:
-
En la consola de Cloud, en el menú de navegación (
), haz clic en Ver todos los productos > Servicios de red > Balanceo de cargas.
-
Espera hasta ver la marca de verificación verde en la columna Backends.
-
Haz clic en el balanceador de cargas ml-bk-ml-mig-bkt-s-lb y verifica sus detalles.


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

Haz clic en Revisar mi progreso para verificar el objetivo. Aplicar los cambios en Terraform
- 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.