
Terraform es una infraestructura como plataforma de código desarrollada por HashiCorp. Simplemente puede escribir código en el formato legible por humanos siguiendo el lenguaje de configuración de HashiCorp (HCL) e implementarlo para obtener la infraestructura en la nube. Terraform es compatible con muchos proveedores de nube como Google, Amazon, Alibaba, etc.
Aquí en este artículo, vamos a instalar la última versión de terraform en Ubuntu. Estamos realizando la instalación de terraform en Ubuntu 20.04; sin embargo, puede realizar el mismo procedimiento en todas las plataformas Linux.
Además, aprenda a usar terraform con un ejemplo simple, inicie una instancia ec2 y cree un depósito s3.
Instalar terraform en Ubuntu 20.04
Descarga la última versión de Terrafrom. Al momento de escribir el artículo, la última versión es 0.14.3.
$ wget https://releases.hashicorp.com/terraform/0.14.3/terraform_0.14.3_linux_amd64.zip
Ahora, descomprima el archivo de descarga.
$ sudo apt install zip -y
$ sudo unzip terraform_0.14.3_linux_amd64.zip
Esto generará un archivo de terraformación, simplemente muévalo a /usr/local/bin/ para ejecutar el comando.
$ sudo mv terraform /usr/local/bin/
Comprobar la versión
$ terraform version

Cómo utilizar Terraform
Expliquemos cómo usar terraform con ejemplos básicos.
Lanzamiento de la instancia ec2 y creación de un depósito s3
Me gustaría crear una carpeta y hacer todo dentro de ella.
$ mkdir aws && cd aws
Crear un archivo de configuración para terraform con extensión 'tf'
vi configuration.tf
Ahora debe proporcionar la siguiente información:
- Proveedor:proveedor de la nube, AWS en nuestro caso
- Acceso, clave secreta:acceso a los recursos de AWS
- Región:la región en la que va a aprovisionar su infraestructura. Lo estoy haciendo en Oregón.
En el segundo bloque del código, defina la instancia de AWS, es decir, ami (verifique Amazon EC2 AMI Locator), el tipo de instancia y la etiqueta.
La última parte del siguiente código creará un depósito s3 llamado 'bucket-launched-using-terrafrom-20210106'. Recuerde que el nombre del depósito debe ser único en AWS.
Copie el siguiente contenido y péguelo en el archivo configuration.tf. Proporcione acceso, clave secreta, región, nombre de depósito propio.
#Define keys and region
provider "aws" {
access_key = "YOUR-ACCESS-KEY"
secret_key = "YOUR-SECRET-KEY"
region = "us-west-2"
}
#Define ec2 instance
resource "aws_instance" "instance1" {
ami = "ami-089668cd321f3cf82"
instance_type = "t2.micro"
tags = {
Name = "ubuntu-20.04"
}
}
#Define s3 bucket
resource "aws_s3_bucket" "bucket1" {
bucket = "bucket-launched-using-terrafrom-20210106"
acl = "private" # or can be "public-read"
tags = {
Name = "Bucket"
Environment = "Production"
}
}
Ahora, inicialice, planifique y ejecute su código. Iniciando terraformación hará la configuración necesaria, la planificación es como ver lo que sucederá en la actualidad. También descubrirá su error de sintaxis. Y, finalmente, aplicar significa que implementará el código en la nube. Ejecutemos el siguiente comando uno por uno.
Inicializar terraform hará la configuración necesaria. Entonces, ejecute el siguiente comando,
$ terraform init
La planificación es como ver lo que sucederá en la realidad. También descubrirá su error de sintaxis.
$ terraform plan
Aplicar significa que implementará el código en la nube. Hazlo simplemente ejecutando el comando,
$ terraform apply
Te pedirá confirmación. Simplemente escriba 'sí' y presione enter. En pocos segundos su infraestructura estará lista.
Ahora puede iniciar sesión en la consola de AWS e ir al servicio ec2. Encontrará que se ha iniciado ec2.

Del mismo modo, ve a s3 y busca en tu cubo.

Destruir infraestructura
Si quieres destruir la infraestructura anterior, simplemente puede escribir 'terraformar destruir'.
$ terraform destroy
Le pide la confirmación, simplemente diga 'sí' y presione enter. La instancia ec2 y el depósito s3 que creó anteriormente deben eliminarse de su cuenta de AWS. Puede verificar iniciando sesión en la consola de AWS.
Eliminar terraformación
Si desea eliminar terraform simplemente puede eliminar el archivo 'terraform' guardado en /usr/local/bin/
$ sudo rm -f /usr/local/bin/terraform
Además, puede limpiar su directorio donde ha inicializado terraform. En nuestro caso, podemos eliminar todo el contenido de la carpeta 'aws'.
Lectura relacionada:
- Cómo cargar archivos a S3 usando Terraform
- Aprovisionamiento de instancias en la nube de AWS EC2
Conclusión
Este artículo simplemente lo ha guiado para instalar terraform, iniciar la instancia ec2 y crear un depósito s3 usándolo. También te mostramos cómo destruir tu infraestructura creada a partir de terraform.