Puntos de control
Import infrastructure
/ 20
Configure a remote backend
/ 10
Modify and update infrastructure
/ 20
Destroy resources
/ 10
Use a Module from the Registry
/ 20
Configure a firewall
/ 20
Build Infrastructure with Terraform on Google Cloud: Lab de desafío
- GSP345
- Descripción general
- Configuración y requisitos
- Situación del desafío
- Tarea 1. Crea los archivos de configuración
- Tarea 2. Importa infraestructura
- Tarea 3. Configura un backend remoto
- Tarea 4. Modifica y actualiza infraestructura
- Tarea 5. Destruye recursos
- Tarea 6. Usa un módulo de Registry
- Tarea 7. Configura un firewall
- Prueba de conectividad (opcional)
- ¡Felicitaciones!
GSP345
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ás utilizar las habilidades aprendidas en los labs del curso para decidir cómo completar las tareas por tu cuenta. Un sistema automatizado de puntuación (en esta página) mostrará comentarios y determinará si completaste tus tareas correctamente.
En un lab de desafío, no se explican conceptos nuevos de Google Cloud, sino que se espera que amplíes las habilidades que adquiriste, 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)
- Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
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.
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
- En Cloud Shell, crea los archivos de configuración de Terraform y una estructura de directorios como la siguiente:
- 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
yproject_id
. Usa, y el ID de tu proyecto de Google Cloud como los valores predeterminados.
-
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. -
Inicializa Terraform.
Tarea 2. Importa infraestructura
- 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.
- 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
ytf-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
yallow_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 - Ingresa los nombres
- 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.
- 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.
Tarea 3. Configura un backend remoto
-
Crea un recurso de bucket de Cloud Storage en el módulo
storage
. Utilizacomo nombre del bucket. Para el resto de los argumentos, puedes utilizar lo siguiente: location = "US"
force_destroy = true
uniform_bucket_level_access = true
outputs.tf
. -
Agrega la referencia del módulo al archivo
main.tf
. Inicializa el módulo y utiliza el comandoapply
para aplicar los cambios y crear el bucket con Terraform. -
Configura este bucket de almacenamiento como el backend remoto en el archivo
main.tf
. Asegúrate de utilizar el prefijoterraform/state
para que se califique correctamente. -
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. Escribeyes
en el mensaje.
Haz clic en Revisar mi progreso para verificar el objetivo.
Tarea 4. Modifica y actualiza infraestructura
-
Navega al módulo instances y modifica el recurso tf-instance-1 para utilizar un tipo de máquina
e2-standard-2
. -
Modifica el recurso tf-instance-2 para utilizar un tipo de máquina
e2-standard-2
. -
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 ae2-standard-2
para las tres instancias. -
Inicializa Terraform y usa el comando
apply
para aplicar los cambios.
outputs.tf
del módulo. Haz clic en Revisar mi progreso para verificar el objetivo.
Tarea 5. Destruye recursos
- 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.
Tarea 6. Usa un módulo de Registry
-
En Terraform Registry, navega hasta el módulo network.
-
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
ysubnet-02
. Para estas subredes, solo necesitas los argumentos Name, IP y Region. - Utiliza la dirección IP
10.10.10.0/24
parasubnet-01
y10.10.20.0/24
parasubnet-02
. - No necesitas rutas ni rangos secundarios asociados a esta VPC, así que puedes omitirlos en la configuración.
-
Después de escribir la configuración del módulo, inicializa Terraform y ejecuta un comando
apply
para crear las redes. -
A continuación, navega al archivo
instances.tf
y actualiza los recursos de configuración para conectar tf-instance-1 asubnet-01
y tf-instance-2 asubnet-02
.
y, luego, agregar el argumento subnetwork con la subred correcta para cada instancia.
Haz clic en Revisar mi progreso para verificar el objetivo.
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
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.
- Esta regla de firewall debe permitir que la red
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.
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.
-
Asegúrate de que se estén ejecutando ambas VMs.
-
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.
Tus parámetros de configuración deberían parecerse a los siguientes:
¡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.
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.