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
Claro, aquí te dejo un 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.