Skip to content

Alguien arregló un problema de producción haciendo clic en la consola, pero la infraestructura la gestiona Terraform. ¿Cuál es el problema y la solución?

Respuesta breve

El cambio manual en la consola es deriva de configuración: el próximo terraform apply puede revertir en silencio el arreglo, y el cambio además se saltó la revisión y la auditoría. Reconcílialo codificando el cambio en Terraform, ejecutando plan/apply para que el código y la realidad coincidan, y añadiendo salvaguardas contra cambios ad hoc en la consola (acceso a consola con mínimo privilegio, SCP, detección de deriva). No hacer nada deja una mina para el próximo apply. Borrar el estado de Terraform es destructivo y puede dejar recursos huérfanos o duplicados. Abandonar Terraform tira por la borda la reproducibilidad, la revisión y los rastros de auditoría.

Este es un escenario de gobernanza disfrazado de pregunta sobre Terraform. El entrevistador comprueba si entiendes que la infraestructura como código es la fuente de verdad, y que un cambio fuera de banda rompe en silencio ese contrato, incluso cuando el cambio «funciona».

Por qué el cambio es un problema

Terraform reconcilia la infraestructura real con el estado y el código. Un arreglo manual en la consola que no está en el código es deriva: el próximo terraform apply (ejecutado por cualquiera, para un cambio sin relación) comparará el mundo con el código, verá la diferencia y revertirá en silencio tu arreglo, con riesgo de volver a romper producción en el peor momento. Por separado, el cambio en la consola se saltó todo el marco de control: sin pull request, sin revisión por pares, sin registro de auditoría de quién cambió qué y por qué. Así que tienes a la vez una bomba de relojería técnica y una brecha de proceso.

La solución correcta

Reconcilia la realidad con el código: escribe el cambio en Terraform, ejecuta terraform plan para confirmar que ya no muestra diferencias, y apply para que código y realidad coincidan (usando import si Terraform aún no rastrea el recurso). Luego añade salvaguardas para que no vuelva a ocurrir: acceso a consola con mínimo privilegio (solo lectura en producción para la mayoría), SCP que bloqueen mutaciones directas riesgosas, y detección de deriva automatizada que alerte cuando la realidad diverja del código.

Por qué los distractores son peligrosos

  • «Nada: ahora funciona.» Funciona hasta que el próximo apply lo revierta. Has dejado una mina.
  • Borrar el estado de Terraform. El estado es el mapa de lo que Terraform gestiona. Borrarlo no «arregla» la diferencia: hace que Terraform olvide recursos existentes, llevando a infraestructura huérfana o a intentos de recrear lo que ya existe. Es de las acciones más destructivas que puedes tomar.
  • Dejar de usar Terraform. Abandonar el IaC para evitar la deriva tira por la borda la reproducibilidad, la revisión y la auditoría, justo lo que hace seguro modificar producción.

Qué buscan los entrevistadores

Reconocer la deriva y el riesgo de reversión silenciosa, codificar el arreglo (con import cuando haga falta) y añadir salvaguardas preventivas en lugar de culpar a quien hizo clic.

Posibles preguntas de seguimiento

  • ¿Cómo incorporarías de forma segura el cambio manual a Terraform sin recrear el recurso?
  • ¿Qué salvaguardas previenen o detectan realmente la deriva de consola en producción?
  • ¿Por qué es tan peligroso borrar o editar a mano el archivo de estado?

Fuentes

Consigue 100 preguntas de entrevista de ciberseguridad + respuestas

Déjanos tu correo y te enviaremos el pack en PDF gratuito y el mazo de flashcards.

Sin spam. Cancela tu suscripción cuando quieras.