Automatización de Infraestructura con Terraform: Tutorial Básico

terraform logo

La automatización de infraestructura es una necesidad crucial en el desarrollo y operaciones modernas. Terraform, una herramienta de infraestructura como código (IaC) de HashiCorp, permite a los desarrolladores y administradores de sistemas definir y aprovisionar recursos de infraestructura en varios proveedores de servicios en la nube de manera eficiente y reproducible. En este tutorial básico, aprenderemos cómo empezar con Terraform, desde la instalación hasta la configuración de un recurso simple en AWS.

1. ¿Qué es Terraform?

Terraform es una herramienta de código abierto que permite a los usuarios definir y aprovisionar infraestructura utilizando un lenguaje declarativo llamado HashiCorp Configuration Language (HCL). La principal ventaja de Terraform es que es independiente del proveedor de servicios en la nube, lo que significa que puede gestionar recursos en AWS, Azure, Google Cloud y otros.

2. Instalación de Terraform

Antes de empezar, necesitamos instalar Terraform en nuestra máquina local. Los pasos para la instalación pueden variar según el sistema operativo:

En Linux:

En macOS:

En Windows:

Descarga el archivo binario desde la página de releases de Terraform y sigue las instrucciones de instalación.

3. Configuración de AWS CLI

Para interactuar con AWS, necesitamos configurar AWS CLI con nuestras credenciales. Si aún no tienes AWS CLI instalado, puedes hacerlo siguiendo estos pasos:

En Linux y macOS:

En Windows:

Descarga el instalador de AWS CLI desde la página oficial y sigue las instrucciones de instalación.

Una vez instalado, configura AWS CLI:

Introduce tu Access Key ID, Secret Access Key, región por defecto (por ejemplo, us-west-2), y el formato de salida (por ejemplo, json).

4. Creación de un Proyecto de Terraform

Crea un directorio para tu proyecto de Terraform:

5. Escribiendo el Archivo de Configuración de Terraform

Crea un archivo llamado main.tf en tu directorio de proyecto. Este archivo definirá los recursos que queremos crear en AWS. Vamos a empezar con un recurso simple: una instancia EC2.

6. Inicialización del Proyecto de Terraform

Antes de aplicar cualquier cambio, necesitamos inicializar el proyecto de Terraform. Esto descargará los proveedores necesarios y preparará el directorio de trabajo.

Salida esperada:

7. Planificación y Aplicación de los Cambios

El siguiente paso es crear un plan de ejecución. Terraform mostrará qué recursos serán creados, modificados o eliminados.

Salida esperada (resumen):

Para aplicar los cambios, ejecuta:

Terraform te pedirá confirmar antes de proceder. Escribe yes para continuar. Salida esperada (resumen):

8. Verificación del Recurso

Una vez que Terraform haya creado la instancia, puedes verificar su existencia en la consola de AWS EC2 o utilizando el siguiente comando de AWS CLI:

Salida esperada (resumen):

9. Limpieza

Para eliminar los recursos creados, usa el comando terraform destroy:

Terraform te pedirá confirmar antes de proceder. Escribe yes para continuar. Salida esperada (resumen):

Conclusión

En este tutorial, hemos cubierto los pasos básicos para instalar y configurar Terraform, crear un proyecto, definir y desplegar una instancia EC2 en AWS. Terraform es una herramienta poderosa que permite la gestión y automatización de infraestructura de manera eficiente y reproducible. A medida que te sientas más cómodo con los conceptos básicos, puedes explorar configuraciones más avanzadas y la integración con otros servicios y proveedores de la nube.

Deja un comentario