1. Introducción
Bienvenidos al primer post sobre Terraform de este Blog!
Veremos cómo configurar nuestras primera infraestructura como código utilizando como proveedor AWS. Levantaremos una máquina ec2 dentro de nuestra infraestructura y analizaremos la configuración mínima necesaria.
Os podéis descargar el código de mi GitHub que se encuentra aquí.
Tecnologías empleadas:
- Terraform 0.12.0
2. Instalación
Lo primero que tenemos que hacer es descargar los binarios de Terraform, decomprimirlos y crear un enlace virtual dentro de /usr/local/bin
$ mv /Users/jorgehernandezramirez/Downloads/terraform_0.12.0_darwin_amd64.zip /opt $ unzip /opt/terraform_0.12.0_darwin_amd64.zip $ ln /opt/terraform /usr/local/bin/terraform $ terraform -version Terraform v0.12.0
3. Configuración
Configuración usuario aws
A continuación lo que tenemos que hacer es crear un usuario que llamaremos terraform
dentro de la consola de amazon
tendrá permisos de administrador
Configuramos el acceso desde nuestro entorno local a través de las credenciales ACCESS_KEY_ID y SECRET_KEY_ID que obtenemos al crear el usuario. Para ello simplemente hacemos
Ficheros .tf
Fichero donde se especifica el proveedor aws así como la región
Fichero de variables. Establecemos valores por defecto. Pueden ser cambiados a la hora de iniciar la creación de la infra.
variable "AWS_REGION" { default = "eu-west-1" } variable "AMIS" { type = "map" default = { us-east-1 = "ami-09693313102a30b2c" us-west-2 = "ami-09693313102a30b2c" eu-west-1 = "ami-09693313102a30b2c" } }
Definición de la instancia que queremos crear. Especificamos el tipo de instancia. La ami la obtenemos de las variables de entorno.
resource "aws_instance" "example" { ami = "${lookup(var.AMIS, var.AWS_REGION)}" instance_type = "t2.micro" }
4. Ejecución
Inicializamos terraform para nuestros ficheros e iniciamos la creación de la infra.
Pasado unos segundos deberíamos ver nuestra máquina
Para borrar la infra creada basta con