Blog - Jorge Rodriguez Flores
← Volver al blog

Automatizar infraestructura con Terraform

Automatizar infraestructura con Terraform

Terraform es una herramienta de automatización de infraestructura open-source desarrollada por HashiCorp. Nació en 2014 como una herramienta de automatización de infraestructura para facilitar la creación, el mantenimiento y la gestión de la infraestructura en la nube y en el centro de datos.

Terraform nos permite describir nuestra infraestructura como código, lo que significa que podemos escribir scripts para describir nuestro entorno de infraestructura y automatizar tareas repetitivas. Esto permite una mayor velocidad, consistencia y fiabilidad en la gestión de la infraestructura.

Terraform tiene la capacidad para trabajar con una amplia variedad de proveedores de nube y de infraestructura, incluyendo Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure.

Instalación

Instalación en Ubuntu 22.0, para otros sistema operativos podemos revisar https://developer.hashicorp.com/terraform/downloads?product_intent=terraform

sudo apt update && sudo apt install software-properties-common gnupg2 curl
curl https://apt.releases.hashicorp.com/gpg | gpg --dearmor > hashicorp.gpg 

sudo install -o root -g root -m 644 hashicorp.gpg /etc/apt/trusted.gpg.d/
sudo apt-add-repository "deb [arch=$(dpkg --print-architecture)] https://apt.releases.hashicorp.com focal main"
sudo apt update && sudo apt install terraform

terraform --version

Ejemplos

Ejemplo básico de cómo crear una instancia EC2 en AWS usando Terraform:

provider "aws" {
  region = "us-west-2"
}

resource "aws_instance" "example" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
  key_name      = "example_key"
  
  tags = {
    Name = "example-instance"
  }
}

Este ejemplo define un proveedor de AWS y una instancia EC2. El provider se encarga de autenticar en tu cuenta de AWS y establecer la región en la que quieres crear recursos. Luego, resource define la instancia EC2 con algunos atributos importantes, como el ID de la imagen AMI y el tipo de instancia. También se establece un nombre de clave SSH para acceder a la instancia, y se le asigna una etiqueta “Name” para que sea fácilmente identificable en el panel de control de AWS.

Puedes guardar este código en un archivo .tf y ejecutar el comando terraform apply para crear la instancia EC2 en tu cuenta de AWS.