arrow_back

Balanceador de cargas basado en contenido HTTPS con Terraform

Unirse Acceder
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Balanceador de cargas basado en contenido HTTPS con Terraform

Lab 1 hora universal_currency_alt 5 créditos show_chart Intermedio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP206

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 personalizado. 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 vas a crear:

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

Objetivos

En este lab, harás lo siguiente:

  • Aprender sobre 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 son cronometrados y no se pueden pausar. El cronómetro, 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 de navegador privada o de Incógnito para ejecutar este 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.
  • Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar su lab y acceder a la consola de Google Cloud

  1. Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab que tiene estos elementos:

    • El botón Abrir la consola de Google
    • Tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haga clic en Abrir la consola de Google. El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta.
  3. Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.

  4. Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.

    Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales.
  5. Haga clic para avanzar por las páginas siguientes:

    • Acepte los términos y condiciones.
    • No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No se registre para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

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.

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

  2. Ahora, el resultado debería verse de la siguiente manera:

Resultado:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net 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_ID>

Resultado de ejemplo:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: Para obtener toda la documentación de gcloud, consulta la guía con la descripción general de gcloud CLI en Google Cloud.

Tarea 1: Clona el repositorio de muestra

  1. En Cloud Shell, clona el repositorio terraform-google-lb-http:
git clone https://github.com/GoogleCloudPlatform/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.

  2. Abre el archivo examples/multi-backend-multi-mig-bucket-https-lb/main.tf.

  3. En la línea 133, dentro del módulo gce-lb-https, agrega las siguientes líneas:

create_ssl_certificate = true managed_ssl_certificate_domains = ["example.com"]

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 y asegúrate de reemplazar <PROJECT_ID> por el ID del proyecto de tu lab.
terraform plan -out=tfplan -var 'project=<PROJECT_ID>'

Resultado de ejemplo:

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

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

  1. Genera una lista del contenido del directorio actual. Verás el plan de Terraform guardado (tfplan):
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

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. Aplica el plan de Terraform:
terraform apply tfplan

Resultado de ejemplo (el tuyo será distinto):

... Apply complete! Resources: 42 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 el menú de navegación, ve a 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 los 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 servicio 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. Tardará 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 ves 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 formato (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 us-west1.

Resultado de ejemplo:

/us-west1-c highlighted in the zone name: projects/958296487646/zones/us-west1-c

https://EXTERNAL_IP/group2

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

Resultado de ejemplo:

us-central1-b highlighted in the zone name: projects/958296487646/zones/us-central1-b

https://EXTERNAL_IP/group3

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

Resultado de ejemplo:

us-east1-b highlighted in the zone name: projects/958296487646/zones/us-us-east1-b

¡Felicitaciones!

En este lab, aprendiste a configurar módulos de balanceo de cargas en Terraform. 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: 28 de noviembre de 2023

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

Copyright 2024 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.