Creando tu primer recurso con Terraform

Introducción

Después de instalar y configurar Terraform, el siguiente paso es desplegar tu primer recurso en la nube. En este post, te guiaré paso a paso para crear una instancia EC2 en AWS utilizando Terraform.

Definiendo la infraestructura con Terraform

Terraform utiliza archivos de configuración en formato HCL (.tf) para describir la infraestructura. Crearemos un archivo llamado main.tf para definir nuestra instancia EC2.

Paso 1: Crear el archivo main.tf

Abre tu editor de texto favorito y crea un archivo main.tf con el siguiente contenido:

provider "aws" {
  region = "us-east-1"
}

resource "aws_instance" "ejemplo" {
  ami           = "ami-0c55b159cbfafe1f0" # ID de la imagen de Amazon Linux
  instance_type = "t2.micro"

  tags = {
    Name = "MiPrimerServidor"
  }
}

En este código:

  • Definimos el proveedor AWS y especificamos la región (us-east-1).
  • Creamos un recurso aws_instance con una AMI específica y un tipo de instancia t2.micro.
  • Asignamos una etiqueta (Name) a la instancia.

Paso 2: Inicializar Terraform

Antes de aplicar cambios, debemos inicializar Terraform para descargar los plugins necesarios:

terraform init

Paso 3: Verificar el plan de ejecución

Podemos previsualizar los cambios antes de aplicarlos ejecutando:

terraform plan

Este comando muestra los recursos que se crearán sin realizar cambios en la infraestructura.

Paso 4: Aplicar los cambios

Para crear la instancia EC2, ejecutamos:

terraform apply

Terraform solicitará confirmación. Escribe yes y presiona Enter.

Paso 5: Verificar la instancia

Una vez creada la instancia, podemos verificar su estado en la consola de AWS o ejecutar:

terraform show

Paso 6: Eliminar la instancia (Opcional)

Si ya no necesitas la instancia, puedes eliminarla con:

terraform destroy

Esto eliminará todos los recursos definidos en main.tf.


Hemos desplegado nuestro primer recurso en AWS usando Terraform. Este enfoque nos permite automatizar la creación de infraestructura de forma eficiente y repetible. En el próximo post, exploraremos cómo manejar variables en Terraform para hacer nuestras configuraciones más flexibles. ¡Nos vemos en la siguiente entrega!