Contenido

Objetivo

Comprender el ciclo de vida de una infraestructura que utiliza Terraform como herramienta de aprovisionamiento, así como los pasos básicos para lograr la generación de esta infraestructura en AWS.

Descripción

La interfaz utilizada por Terraform es un cliente de línea de comandos que utiliza una lista bastante pequeña, pero poderosa de comandos para inicializar, planear, aprovisionar, actualizar y destruir todos los recursos configurados para aprovisionar la infraestructura definida en sus archivos de configuración.

Este tema pretende explicar los pasos necesarios básicos para pasar de tener un entorno limpio a tener una infraestructura de cualquier tamaño.
Explicación

Haz clic para revisar la explicación.

Ciclo de vida de la Infraestructura como Código (IaC)

Recursos adicionales

Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.

Revisa el siguiente video:

Para conocer más sobre ciclo de vida de la infraestructura como código (laC), revisa el siguiente video:

El Camino Dev. (2021, 7 de diciembre). Comandos comunes en Terraform [Archivo de video]. Recuperado de https://youtu.be/ECEW-P4l7Xg

Actividad

Objetivo

Aprender a consultar la documentación de Terraform para generar un recurso en AWS y cómo importar recursos para tomar control de ellos con Terraform.

Instrucciones

Requisitos:

  • Tener una cuenta gratuita o de paga de AWS con perfil configurado
El siguiente enlace es externo a la Universidad Tecmilenio,
al acceder a éste considera que debes apegarte a sus términos y condiciones.



  • Tener instalado Terraform
El siguiente enlace es externo a la Universidad Tecmilenio,
al acceder a éste considera que debes apegarte a sus términos y condiciones.


  • Tener un editor compatible como Visual Studio Code https://code.visualstudio.com/ con plugin instalado para Terraform
El siguiente enlace es externo a la Universidad Tecmilenio,
al acceder a éste considera que debes apegarte a sus términos y condiciones.


El siguiente enlace es externo a la Universidad Tecmilenio,
al acceder a éste considera que debes apegarte a sus términos y condiciones.


  • Acceso a Internet

 

Paso 1.

Revisar que Terraform se encuentra instalado y funcionando, corriendo el comando terraform -version

 

$ terraform -version
Terraform v1.1.7


Paso 2.

Hacer una carpeta llamada terraform que contenga un archivo llamado main.tf y escribir la configuración para generar un bucket. Puedes encontrar un ejemplo en

El uso y descarga del software deberá apegarse a los términos y condiciones del sitio oficial del fabricante y su uso será responsabilidad de quien lo descargue. Tecmilenio no tiene licencia ni posee los derechos sobre dicho software.


Paso 3.

En la consola, correr terraform init y revisar que Terraform se inicialice correctamente con el proveedor AWS.

Paso 4.

En la consola, correr terraform plan, usando el modificador target para ver solo los cambios que se van a realizar para generar el bucket.

Paso 5.

Ejecutar terraform init usando el modificador target para generar el bucket en AWS.

Paso 6.

Una vez creado el bucket:

  • Ejecuta terraform plan, para ver que te marca que no hay ningún cambio en la infraestructura.
  • Borra el archivo terraform.tfstate que contiene la relación entre la configuración y la infraestructura.
  • Vuelve a ejecutar el comando terraform plan para ver qué te dice ahora.

Paso 7.

Vas a reconciliar la configuración con el bucket que acabas de crear, para esto vas a utilizar el comando terraform import, puedes revisar cómo usarlo en:

El uso y descarga del software deberá apegarse a los términos y condiciones del sitio oficial del fabricante y su uso será responsabilidad de quien lo descargue. Tecmilenio no tiene licencia ni posee los derechos sobre dicho software.


Paso 8.

Tras haber corrido el comando terraform import, vuelve a correr el comando terraform plan para ver qué efectivamente Terraform te indica que no hay más cambios que hacer.

Paso 9.

Ejecuta terraform destroy para eliminar el bucket que ya no vas a utilizar. Recuerda que tener recursos que no necesitas en las nubes informáticas puede incurrir en costos no deseados.

Notas:

  • El nombre el bucket debe ser único e irrepetible en todo AWS y debe consistir solo de letras minúsculas, números, guion medio, punto, y debe tener entre 3 y 63 caracteres de longitud.

Terraform puede generar un nombre único por ti si omites el parámetro bucket de la configuración.

Checklist
  • Utilizar la documentación de Terraform para consultar cómo generar la configuración para un recurso de AWS.
  • Crear un archivo de configuración de Terraform para el aprovisionamiento de un S3 Bucket.
  • Ejecutar un ejercicio donde pierde y recupera el control de un recurso de AWS mediante terraform import.