Ingeniero DevOps: pregunta de entrevista
¿Cómo gestionas el estado de Terraform de forma segura?
Guarda el estado Terraform en backend remoto cifrado con locking, versionado, identidades restringidas y backups; separa entornos, revisa planes y usa import o comandos de estado bajo cambio controlado.
Respuesta directa
Qué debe cubrir una buena respuesta
Cómo funciona
El estado es el mapa entre la configuración y los recursos reales, y contiene IDs de recursos y a menudo secretos en texto plano, así que se guarda en un backend remoto con cifrado en reposo, versionado para recuperación y bloqueo para que dos apply no lo corrompan. El acceso se limita a la identidad de CI y unos pocos operadores; los entornos usan ficheros de estado o workspaces separados para que un error en staging no toque producción. Los cambios pasan por planes revisados en pull requests y aplicados por automatización, y la cirugía manual del estado con import, mv o rm ocurre solo mediante un procedimiento documentado con copia previa.
Ejemplo
Cada entorno tiene su propio backend S3 con versionado, cifrado KMS y una tabla de bloqueo en DynamoDB; CI aplica desde un rol que solo ese pipeline puede asumir, y los ingenieros tienen acceso de lectura para planes. Cuando un recurso se creó a mano durante un incidente, se puso bajo gestión con terraform import en un cambio revisado en lugar de editar el fichero de estado, y se conservó una copia del estado previa al import durante una semana.
Errores frecuentes
- Subir terraform.tfstate al repositorio con secretos dentro.
- Compartir un fichero de estado entre entornos, de modo que un error tipográfico destruye producción.
- Editar el JSON del estado a mano sin copia de seguridad.
Una estructura útil para responder
Responde desde tu propia experiencia.
No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.
Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.