Tu archivo de estado de Terraform es el artefacto más sensible de toda tu nube. Es un mapa completo de cada recurso que ejecutas y, según tus proveedores, también guarda secretos en texto plano: cadenas de conexión, contraseñas generadas, claves. Por defecto ese archivo vive en una cuenta de almacenamiento en la nube con un endpoint público, protegido con poco más que una clave de acceso. Si esa clave se filtra, el atacante no tiene que enumerar tu infraestructura. Le entregaste el plano.
Nosotros vendemos autenticación. Un proveedor de auth que deja las llaves de su propio reino en la internet abierta no tiene por qué custodiar las tuyas. Por eso nuestra cuenta de estado de producción no tiene ninguna superficie pública. Llegar hasta ahí tiene tres trampas, y caímos en la forma de cada una antes de acertar.
Trampa uno: el huevo y la gallina
El estado remoto necesita un backend que ya exista antes de que Terraform pueda ejecutarse. Pero el backend es en sí mismo infraestructura, y te gustaría que Terraform lo gestionara. No puedes usar la cuenta de almacenamiento para guardar el estado de la cuenta de almacenamiento que todavía no existe.
La salida es un arranque deliberado en dos fases. La fase uno se ejecuta con estado local y crea exactamente los cimientos: la cuenta de almacenamiento del estado, la red en la que vivirá y la ruta de acceso. La fase dos cambia el bloque del backend de local a remoto y migra el archivo de estado ya existente hacia la cuenta que acaba de crear. A partir de ahí, esa capa de arranque se gestiona a sí misma de forma remota como todo lo demás. Son unos minutos en los que sientes que estás de pie sobre una escalera que todavía estás construyendo, y luego queda hecho para siempre.






