arrow_back

Build Infrastructure with Terraform on Google Cloud: Lab de desafío

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

Build Infrastructure with Terraform on Google Cloud: Lab de desafío

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

GSP345

Labs de autoaprendizaje de Google Cloud

Descripción general

En un lab de desafío, se le proporcionarán una situación y un conjunto de tareas. En lugar de seguir instrucciones paso a paso, deberá utilizar las habilidades aprendidas en los labs de la Quest a fin de decidir cómo completar las tareas por su cuenta. Un sistema de puntuación automatizado (que se muestra en esta página) le proporcionará comentarios acerca de si completó las tareas correctamente.

En un lab de desafío, no se explican conceptos nuevos de Google Cloud, sino que se espera que amplíe las habilidades que adquirió, como cambiar los valores predeterminados y leer o investigar los mensajes de error para corregir sus propios errores.

Debe completar correctamente todas las tareas dentro del período establecido para obtener una puntuación del 100%.

Se recomienda este lab a los estudiantes inscritos en el curso Build Infrastructure with Terraform on Google Cloud. ¿Aceptas el desafío?

Temas evaluados:

  • Importar infraestructura existente a tu configuración de Terraform
  • Crear y hacer referencia a tus módulos de Terraform
  • Agregar un backend remoto a tu configuración
  • Implementar y utilizar un módulo de Terraform Registry
  • Reaprovisionar, destruir y actualizar infraestructura
  • Probar la conectividad entre los recursos que creaste

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.

Situación del desafío

Imagina que eres un ingeniero de nube que está haciendo su pasantía en una nueva startup. En tu primer proyecto, tu nuevo jefe te pidió crear infraestructura con rapidez y eficacia, y diseñar un mecanismo para supervisarla para tener referencias y facilitar las modificaciones en el futuro. Te ordenaron utilizar Terraform para completar el proyecto.

En este proyecto, debes utilizar Terraform para crear, implementar y supervisar la infraestructura en el proveedor preferido de la startup, Google Cloud. También deberás importar algunas instancias mal administradas a tu configuración y corregirlas.

En este lab, debes usar Terraform para importar y crear varias instancias de VM, una red de VPC con dos subredes y una regla de firewall para la VPC para permitir conexiones entre ambas instancias. También debes crear un bucket de Cloud Storage para alojar tu backend remoto.

Nota: Al final de cada sección, utiliza los comandos plan y apply para implementar los cambios y verificar correctamente tu trabajo. Como estaremos actualizando muchos archivos de Terraform en este lab, asegúrate de usar la ruta de acceso al archivo correcta y de mantener la sangría adecuada.

Tarea 1. Crea los archivos de configuración

  1. En Cloud Shell, crea los archivos de configuración de Terraform y una estructura de directorios como la siguiente:
main.tf variables.tf modules/ └── instances ├── instances.tf ├── outputs.tf └── variables.tf └── storage ├── storage.tf ├── outputs.tf └── variables.tf
  1. Completa los archivos variables.tf del directorio raíz y de los módulos. Agrega las siguientes tres variables a cada uno de ellos: region, zone y project_id. Usa , y el ID de tu proyecto de Google Cloud como los valores predeterminados.
Nota: Debes usar estas variables siempre que sea posible en los parámetros de configuración de tus recursos.
  1. Agrega el bloque de Terraform y el proveedor de Google al archivo main.tf. Verifica si el argumento zone se agregó con los argumentos project y region en el bloque del proveedor de Google.

  2. Inicializa Terraform.

Tarea 2. Importa infraestructura

  1. En la consola de Google Cloud, ve al menú de navegación y haz clic en Compute Engine > Instancias de VM. Ya se crearon dos instancias llamadas tf-instance-1 y tf-instance-2 para ti.
Nota: Si haces clic en una de las instancias, verás el ID de instancia, la imagen de disco de arranque y el tipo de máquina. Estos elementos son necesarios para escribir los parámetros de configuración correctamente y, luego, importarlos a Terraform.
  1. Importa las instancias existentes al módulo instances. Para hacerlo, deberás seguir estos pasos:
  • Primero, agrega la referencia del módulo al archivo main.tf y, luego, vuelve a inicializar Terraform.
  • Luego, escribe los parámetros de configuración de los recursos en el archivo instances.tf para que coincidan con los de las instancias existentes.
    • Ingresa los nombres tf-instance-1 y tf-instance-2 para tus instancias.
    • Para los fines de este lab, la configuración de recursos debe ser mínima. Solo debes incluir los siguientes argumentos adicionales a tu configuración: machine_type, boot_disk, network_interface, metadata_startup_script y allow_stopping_for_update. Para los dos últimos argumentos, utiliza la siguiente configuración, ya que, así, no tendrás que volver a crearla:
    metadata_startup_script = <<-EOT #!/bin/bash EOT allow_stopping_for_update = true
  • Después de escribir los parámetros de configuración de los recursos en el módulo, utiliza el comando terraform import para importarlos al módulo instances.
  1. Aplica los cambios. Ten en cuenta que, como no completaste argumentos en toda la configuración, el comando apply solo actualizará las instancias implementadas. Esto está bien para los fines de este lab, pero, en un entorno de producción, debes completar correctamente todos los argumentos antes de realizar la importación.

Haz clic en Revisar mi progreso para verificar el objetivo. Importar infraestructura

Tarea 3. Configura un backend remoto

  1. Crea un recurso de bucket de Cloud Storage en el módulo storage. Utiliza como nombre del bucket. Para el resto de los argumentos, puedes utilizar lo siguiente:

    • location = "US"
    • force_destroy = true
    • uniform_bucket_level_access = true
Nota: También puedes agregar valores de salida en el archivo outputs.tf.
  1. Agrega la referencia del módulo al archivo main.tf. Inicializa el módulo y utiliza el comando apply para aplicar los cambios y crear el bucket con Terraform.

  2. Configura este bucket de almacenamiento como el backend remoto en el archivo main.tf. Asegúrate de utilizar el prefijo terraform/state para que se califique correctamente.

  3. Si escribiste la configuración de forma correcta, cuando ingreses el comando init, Terraform te preguntará si deseas copiar en el nuevo backend los datos de estado existentes. Escribe yes en el mensaje.

Haz clic en Revisar mi progreso para verificar el objetivo. Configurar un backend remoto

Tarea 4. Modifica y actualiza infraestructura

  1. Navega al módulo instances y modifica el recurso tf-instance-1 para utilizar un tipo de máquina e2-standard-2.

  2. Modifica el recurso tf-instance-2 para utilizar un tipo de máquina e2-standard-2.

  3. Agrega un tercer recurso de instancia con el nombre . Para este recurso, utiliza un tipo de máquina e2-standard-2. Asegúrate de cambiar el tipo de máquina a e2-standard-2 para las tres instancias.

  4. Inicializa Terraform y usa el comando apply para aplicar los cambios.

Nota: También puedes agregar valores de salida de estos recursos en el archivo outputs.tf del módulo.

Haz clic en Revisar mi progreso para verificar el objetivo. Modificar y actualizar infraestructura

Tarea 5. Destruye recursos

  1. Destruye la tercera instancia quitando el recurso del archivo de configuración. Después de hacerlo, inicializa Terraform y usa el comando apply para aplicar los cambios.

Haz clic en Revisar mi progreso para verificar el objetivo. Destruir recursos

Tarea 6. Usa un módulo de Registry

  1. En Terraform Registry, navega hasta el módulo network.

  2. Agrega este módulo al archivo main.tf. Utiliza los siguientes parámetros de configuración:

  • Usa la versión 6.0.0 (con otras versiones, se pueden producir errores de compatibilidad).
  • Dale el nombre a la VPC y usa un modo de enrutamiento global.
  • Especifica 2 subredes en la región y asígnales los nombres subnet-01 y subnet-02. Para estas subredes, solo necesitas los argumentos Name, IP y Region.
  • Utiliza la dirección IP 10.10.10.0/24 para subnet-01 y 10.10.20.0/24 para subnet-02.
  • No necesitas rutas ni rangos secundarios asociados a esta VPC, así que puedes omitirlos en la configuración.
  1. Después de escribir la configuración del módulo, inicializa Terraform y ejecuta un comando apply para crear las redes.

  2. A continuación, navega al archivo instances.tf y actualiza los recursos de configuración para conectar tf-instance-1 a subnet-01 y tf-instance-2 a subnet-02.

Nota: En la configuración de la instancia, debes actualizar el argumento network a y, luego, agregar el argumento subnetwork con la subred correcta para cada instancia.

Haz clic en Revisar mi progreso para verificar el objetivo. Usar un módulo de Terraform Registry

Tarea 7. Configura un firewall

  • Crea un recurso de regla de firewall en el archivo main.tf y ponle el nombre tf-firewall.
    • Esta regla de firewall debe permitir que la red acepte conexiones de entrada en todos los rangos de IP (0.0.0.0/0) en el puerto TCP 80.
    • Asegúrate de agregar el argumento source_ranges con el rango de IP correcto (0.0.0.0/0).
    • Inicializa Terraform y usa el comando apply para aplicar los cambios.
Nota: Para recuperar el argumento network requerido, puedes inspeccionar el estado y buscar el ID o el self_link del recurso google_compute_network que creaste. Tendrá el formato projects/PROJECT_ID/global/networks/.

Haz clic en Revisar mi progreso para verificar el objetivo. Configurar un firewall

Prueba de conectividad (opcional)

Después de crear una regla de firewall para permitir las conexiones internas en la VPC, puedes ejecutar una prueba de conectividad de red.

  1. Asegúrate de que se estén ejecutando ambas VMs.

  2. Navega a Inteligencia de la red > Pruebas de conectividad. Ejecuta una prueba de conectividad en ambas VMs para verificar si son accesibles. Acabas de validar la conectividad entre las instancias.

Nota: Asegúrate de que se habilitó correctamente la API de Network Management; si no está habilitada, haz clic en Habilitar.

Tus parámetros de configuración deberían parecerse a los siguientes:

Página de opciones de configuración

¡Felicitaciones!

Si lograste importar, crear, modificar y configurar la arquitectura en el tiempo asignado, acabas de demostrar que manejas muy bien las habilidades de Terraform. En este lab, comenzaste por importar a Terraform dos VMs configuradas previamente y crear un bucket de Cloud Storage para configurar tu backend. Luego, agregaste otra instancia y practicaste cómo modificar y actualizar la configuración de los recursos de tus módulos. Por último, utilizaste un módulo de Terraform Registry para crear una VPC con dos subredes a la que conectaste las instancias y creaste una regla de firewall para permitir conexiones entre ellas.

Crea una infraestructura con Terraform en Google Cloud

Obtén tu próxima insignia de habilidad

Este lab de autoaprendizaje forma parte del curso para obtener la insignia de habilidad Build Infrastructure with Terraform on Google Cloud. Si completas este curso, obtendrás la insignia de habilidad que se muestra arriba como reconocimiento de tu logro. Comparte la insignia en tu currículum y tus plataformas sociales, y anuncia tu logro con el hashtag #GoogleCloudBadge.

Próximos pasos

Ahora que demostraste tu dominio de Terraform, puedes registrarte en HashiCorp Infrastructure Automation Certification. La certificación Associate de Terraform es para ingenieros de Cloud especializados en operaciones, TI o desarrollo que conocen las habilidades y los conceptos básicos asociados al producto de código abierto Terraform de HashiCorp. Los candidatos estarán más preparados para este examen si tienen experiencia profesional con Terraform en entornos de producción. Sin embargo, lograr los objetivos del examen en un entorno de demostración personal también es suficiente. Si deseas llevar tus habilidades al siguiente nivel y poner a prueba tus conocimientos en automatización de infraestructura, te recomendamos que revises la guía de estudio y la revisión del examen, y que te registres para el examen cuando tengas todo listo. Te deseamos buena suerte.

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: 22 de marzo de 2024

Prueba más reciente del lab: 22 de marzo de 2024

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.