2. ¿QUE ES TERRAFORM?
• Herramienta DE PROVISIONAMIENTO DE INFRAESTRUCTURA
• CREADA POR HASHICORP EN LENGUAJE GO
• A TRAVES DE FICHEROS .TF DEFINIMOS NUESTRA INFRAESTRUCTURA
• ESTOS FICHEROS SON CREADOS A TRAVES DEL LENGUAJE HCL
• HCL ES UN LENGUAJE DECLARATIVO
4. Comandos basicos
• init : inicia el state, descargar los providers, modulos etc..
• plan : crear el plan de trabajo de que infra hay que desplegar
• Apply : despliega la infra definida en el plan de trabajo
• Destroy: elimina toda la infra definida en los ficheros tf
5. Tipos de ficheros
• .main.tf : definicion de nuestra infraestructura.
• variables.tf : definicion las variables de entrada
• .tfvars: valores de nuestras variables
• Outputs.tf: valores de salida de nuestros ficheros .tf
9. State file
• Por defecto el state file esta en local.
• ESTE FICHERO DEBE ESTAR EN REMOTO
• EN REMOTO PREVENIMOS CONCURRENCIA
• Tenemos diferentes tipos de backends que podemos usar
11. modulos
• Libreria de recursos que facilitan la reutilizacion de codigo de
terraform
• Vendrian a ser los nugets de terraform
• Estos modulos poder ser alojados localmente
• Pero tambien alojados en github, repositorio privado git etc...
• En registry.terraform.io hay muchos disponibles
16. testing
• Una Libreria para realizar tests es inspec
• inspec es un framework permite hacer tests y auditar
nuestra infraestructura
• Esta creado por chef
• la mejor cosa que tiene es la claridad de los tests
18. MIGRAR A TERRAFORM
• Con el comando import podemos importar recursos
• Dentro de la documentacion de terraform se explica
como realizar la importacion
19. MIGRAR A TERRAFORM
• Otra herramienta es py-az2tf creada por Andy Thomas
• Recrea tanto el fichero state como los ficheros tf