Comprender el origen y necesidad de las herramientas de infraestructura como código (IAC), específicamente Terraform, así como sus ventajas, sintaxis, proveedores y aprovisionadores para sustentar, diseñar y aprovisionar infraestructuras completas utilizando el lenguaje de configuración de HashiCorp (HCL).
Con la aparición de las nubes informáticas el proceso de aprovisionamiento de recursos ha tenido que flexibilizarse pues, aunque existe la forma de hacerlo manual, la demanda puede bajar o subir de manera exponencial con lo que vas a necesitar de herramientas que te ayuden a hacer esto de manera confiable y repetible.
De ahí la necesidad de las herramientas para Infraestructura como código (IaC), en este caso, cubrirás Terraform el cual goza de grandes ventajas en términos de popularidad, escalabilidad, flexibilidad, y facilidad de uso.
Durante el desarrollo de este módulo, profundizaras en la sintaxis del lenguaje HCL, proveedores disponibles, y aprovisionadores que Terraform ofrece.Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.
Para conocer más sobre conceptos básicos de Terraform, revisa el siguiente video:
TechWorld with Nana. (2020, 4 de julio). Terraform explained in 15 mins | Terraform Tutorial for Beginners [Archivo de video]. Recuperado de https://youtu.be/l5k1ai_GBDE
Generar un archivo de configuración HCL para la creación de una instancia básica de EC2.
Requisitos:
Paso 1.
Para confirmar que Terraform se encuentra instalado y funcionando, puedes correr en la línea de comandos la palabra terraform -version con lo vas a ver la versión de Terraform que tienes instalado.
Paso 2.
Hacer una carpeta llamada terraform que contenga un archivo llamado main.tf y agregar la configuración del proveedor aws.
Paso 3.
En la consola, correr terraform init y revisar que Terraform se inicialice correctamente con el proveedor aws
Paso 4.
En la consola, correr terraform plan, como solo se agregó el proveedor, Terraform debería indicar que no se va a realizar ningún cambio.
Paso 5.
Crear el archivo desarrollo.auto.tfvars donde se agregarán las siguientes variables:
Paso 6.
Ajustar el archivo main.tf para que use las variables declaradas en desarrollo.auto.tfvars
variable "region" {}
variable "id_imagen" {}
variable "tipo_instancia" {}
provider "aws" {
region = var.region
}
resource "aws_instance" "foo" {
ami = var.id_imagen
instance_type = var.tipo_instancia
}
Paso 7.
Volver a correr terraform plan para ver cómo se indican los cambios que se van a realizar para lograr provisionar una instancia de EC2 de AWS.