Configuración de Backend Remoto con Terraform y Azure
Clase 20 de 37 • Curso de Terraform
Resumen
¿Cómo configurar un estado remoto en Terraform con Azure?
Configurar un estado remoto en Terraform es esencial para trabajar de forma colaborativa y eficiente, especialmente cuando manejas infraestructura como código en entornos que requieren consistencia y seguridad en los estados. Uno de los servicios más utilizados para este propósito es Azure, el cual brindará la estabilidad necesaria al alojar tus archivos de estado. Aquí te explicamos cómo lograrlo.
¿Qué necesitas para iniciar?
- Cuenta de almacenamiento en Azure: Asegúrate de tener una cuenta de almacenamiento configurada adecuadamente dentro de Azure.
- Archivo de backend en Terraform: Este archivo es crucial para definir la ubicación donde el estado será almacenado.
- Azure Shared Access Signature (SaaS) Token: Es un token especial que permite a Terraform acceder a tu cuenta de almacenamiento con los permisos necesarios.
¿Cómo ejecutar Terraform init con configuración de backend?
Una vez que tienes todo lo necesario, puedes proceder a utilizar el comando Terraform init
, pero con un enfoque ligeramente distinto:
-
Acceder al directorio correcto: Utiliza el comando
cd
para moverte al directorio donde has guardado tu archivo de backend.cd estado_remoto
-
Ejecutar Terraform init con parámetros adicionales: Usa el parámetro
-backend-config
para incluir el SaaS token. Este token puede ser obtenido en el portal de Azure.terraform init -backend-config="sas_token=<tu_sas_token>"
Asegúrate de cerrar las comillas correctamente para evitar errores.
¿Cómo crear y utilizar un SaaS Token en Azure?
El SaaS Token se obtiene desde el portal de Azure bajo la categoría 'Shared Access Signature'. Configura este token de acuerdo con las necesidades de acceso específicas de tu proyecto:
- Permisos solo para
blob
y acceso a contenedores y objetos. - Define una fecha de expiración adecuada, por ejemplo, una semana si estás en fase de pruebas.
Una vez configurado, genera el SaaS Token y cópialo para utilizarlo en tu configuración de Terraform.
¿Qué sucede al ejecutar Terraform Plan y Apply?
Cuando ejecutas Terraform plan
seguido de Terraform apply
, notarás cambios cruciales en el flujo de trabajo:
-
Estado asegurado: Antes de aplicar cambios, Terraform asegura que el estado sólo pueda ser modificado por ti, manteniendo así la integridad de las operaciones.
terraform plan -out=plan.out terraform apply
-
Liberación del estado: Tras completar los cambios, el estado se libera permitiendo su acceso a otros miembros del equipo.
¿Dónde se almacena el archivo TF State?
Con esta configuración de backend, el archivo states.tfstate
se encuentra ahora en un contenedor en Azure en lugar de estar localmente en tu máquina. Este cambio permite que cualquier miembro de tu equipo, sin importar su ubicación, pueda utilizar el mismo estado para mantener una infraestructura uniforme y consistente. Además, se reportarán cambios automáticamente a todos los colaboradores utilizando este archivo.
Esta solución no solo mejora el flujo de trabajo en Terraform, sino que también fomenta un entorno colaborativo más seguro y coordinado dentro de tu infraestructura como código. ¡La implementación adecuada de un estado remoto puede transformar la forma en la que gestionas proyectos de gran envergadura!