Saltar a tema:
- Resumen del tutorial
- Crear usuario administrador para el tutorial
- Establece llaves de acceso en la configuracion de Terraform
- Ejercicio 1. Intro
- Ejercicio 2. Variables
- Ejercicio 3. Módulos
- Ejercicio 4. Workspaces
- Ejercicio 5. Remote state
El tutorial tiene como finalidad hacer una introducción al uso de IaC (Infraestructura como código) con Terraform.
Antes de comenzar el tutorial es necesario completar los siguientes pasos:
Las herramientas que utilizaremos en el tutorial son:
- Terraform (Herramienta para construir, cambiar y versionar infraestructura de manera segura y eficiente.)
Entra a la cuenta que vas a utilizar en el tutorial y navega a la consola de usuarios IAM.
Agrega un nuevo usuario que se llame "workshop"
Dar permisos de administrador al nuevo usuario (AdministratorAccess).
IMPORTANTE: Por practicidad le damos estos permisos al usuario, en el mundo real siempre es mejor dar el menor número de permisos a un usuario o rol.
Descargar las llaves de acceso para hacer llamadas al API de AWS.
Para establecer las llaves de acceso puedes exportar las credenciales como variables de ambiente.
$ export AWS_ACCESS_KEY_ID="AKIAJ3RAVUDDQWJSQ"
$ export AWS_SECRET_ACCESS_KEY="BpXA8AbiC1vgZUTVrKIe8YjP0Q9VDu"
También puedes usar el editor de tu elección, abrir el archivo provider.tf, descomentar las dos lineas de las llaves de accesso y reemplazar el texto "ACCESS_KEY_HERE" y "SECRET_KEY_HERE".
Terraform es una herramienta para crear, cambiar y versionar infraestructura. Terraform utiliza archivos de texto donde podemos describir la configuración de lo que queremos crear o modificar, Terraform se encarga de leer e interpretar estos archivos, crear un plan para posteriormente aplicarse con el fin de llegar al estado descrito en las configuraciones. Este proceso es de gran ayuda al crear o modificar infraestructura ya que podemos ver los pasos que se van a tomar para lograrlo, reduciendo drasticamente errores humanos que se podrían producir al hacerlo de forma manual o utilizando alguna herramienta que no lleve un estado de la infraestructura creada.
Las configuraciones de Terraform son archivos de texto de tal forma se pueden reutilizar para crear ambientes parecidos e integrar con cualquier sistema de control de versiones (git) para versionar la infraestructura.
Algunas ventjas de tener infraestructura como código (IaC)
- Documentación
- Control de Versiones
- Automatizar infraestructura
- Utilizar templetes y repetir (Múltiples ambientes)
- Minimizar error humano