Después de haber ejecutado el comando terraform apply. Podrás ver que tu infraestructura ya fue creada en Azure pero también podrás notar que hay un archivo nuevo y generado en tu folder, terraform.tfstate.

Como puedes ver, este archivo está en formato JSON y aquí podrás ver el resultado de la infraestructura recién creada. La intención de que este archivo exista es que Terraform tenga la capacidad de mantener el estado de lo que hizo para múltiples fines como optimización, seguimiento, etc.
El archivo de estado recién generado sirve de poco quedándose en modo local, lo ideal es desplegar este archivo en un almacén de datos y permitirle a Terraform tener acceso, de esta manera, sin importar la máquina o ambiente en donde estén trabajando en la infraestructura, Terraform podrá saber que ha hecho y qué puede hacer.
Azure Blob Storage
Aquí, la mejor herramienta para preservar el estado es Azure Blob Storage en donde guardaremos este archivo. Para hacer esto debes extraer de una cuenta de Storage lo siguiente:
- Grupo de recursos de la cuenta de almacenamiento (no necesita ser el mismo que se utiliza para la creación de infraestructura).
- Nombre de la cuenta de almacenamiento
- Nombre del contenedor
- Llave de acceso de la cuenta de almacenamiento
Comienza por crear un nuevo archivo en tu folder, yo utilizaré el que tuve en el artículo anterior, así que ahí mismo elimino el archivo de estado y colocaré el nuevo archivo, llamado backend.tf, el nombre del archivo es importante porque de esta manera Terraform podrá ubicarlo y saber de que se trata esto. Tus archivos quedarán así.

Dentro de este archivo debes poner lo siguiente:
terraform { backend "azurerm" { resource_group_name = "nombreGrupoRecursos" storage_account_name = "nombreCuentaAlmacenamiento" container_name = "nombreContenedor" key = "llaveDeAccesoDeBlob" } } |
Al hacer esto, repite todos los comandos para crear de nuevo la infraestructura. Si lo haces podrás ver que ahora no se creó ningún archivo.

Entra al explorador de tu cuenta de almacenamiento y podrás ver ahí ahora el archivo.

Si abres el archivo podrás ver que ahí está el estado de todo lo creado por Terraform.

La gran importancia de todo esto es que gracias a la preservación del estado de Terraform te evitarás la necesidad de repetir recursos, invertir tiempo en recrearlos y estarás incorporando una buena práctica para arquitecturas más complejas.
2 comentarios en «Guardar el estado de Terraform en Azure Blob Storage»