Cuando trabajas con infraestructura como código en la nube, aprender a destruir recursos es tan crítico como crearlos. El comando Terraform Destroy te permite eliminar toda tu arquitectura en segundos y evitar costos innecesarios en proveedores como Azure, algo esencial para cualquier persona que despliegue ambientes de prueba con Terraform.
¿Por qué usar Terraform Destroy en proyectos de nube?
En la nube no te puedes dar el lujo de ser nostálgico. Cada recurso que dejas vivo cuesta dinero, sin importar el proveedor que uses. Por eso, jugar con la infraestructura el tiempo necesario y luego eliminarla por completo es una práctica que te ahorra presupuesto y mantiene tu cuenta limpia.
Y aquí viene lo interesante: al principio cuesta trabajo apretar el gatillo y borrar todo, pero con la práctica se vuelve uno de los comandos más útiles de tu flujo diario.
¿Qué hace Terraform Destroy? Elimina todos los recursos que desplegaste previamente con Terraform según tu archivo de configuración. En segundos, tu infraestructura desaparece del proveedor de nube.
¿Cómo ejecutar Terraform Destroy paso a paso?
Antes de destruir, conviene verificar el estado de tu infraestructura. Si corres terraform plan y no hay cambios pendientes, sabes que tu configuración está sincronizada con lo desplegado. A partir de ahí, puedes proceder con confianza.
Estos son los pasos que sigues en la terminal:
- Ejecutar
terraform plan para confirmar que no hay cambios pendientes.
- Escribir
terraform destroy y presionar Enter.
- Esperar a que Terraform refresque el estado y muestre los recursos marcados para destrucción.
- Escribir
yes en minúsculas para confirmar.
- Esperar la confirmación de Destroy Complete.
Un detalle importante sobre la confirmación: solo se acepta yes en minúsculas. No funciona escribir sí, ni y, ni YES en mayúsculas. Es una validación estricta que evita destrucciones accidentales.
¿Qué verás al destruir grupos de recursos en Azure?
En la demostración se destruyeron dos grupos de recursos llamados mi primer grupo Platzi y mi segundo grupo Platzi. Después de confirmar con yes, la operación tardó 23 segundos en completarse [01:45]. La terminal cambia el mensaje habitual de Apply Complete por Destroy Complete, señal de que los dos recursos fueron eliminados correctamente.
Al regresar al portal de Azure, los grupos siguen apareciendo por unos segundos. Basta con presionar Refresh para confirmar que ya no existen. Esa sincronización entre Terraform y el portal es lo que te da certeza de que tu factura no seguirá creciendo.
¿Cuánto tarda Terraform Destroy en eliminar recursos? Depende del tipo y cantidad de recursos. En el ejemplo, dos grupos de recursos en Azure tardaron 23 segundos en ser destruidos por completo.
¿Cuándo conviene destruir y volver a crear infraestructura?
Destruir no siempre significa abandonar el proyecto. Muchas veces es la forma más limpia de corregir errores. Si configuraste mal un parámetro, olvidaste una directiva o algo no quedó como esperabas, destruir toda la infraestructura y volver a aplicarla con los valores correctos suele ser más rápido que parchar a mano.
Esta lógica convierte a Terraform Destroy en un compañero natural de Terraform Apply. Uno crea, el otro limpia, y juntos te dan control total sobre el ciclo de vida de tu arquitectura.
Algunos escenarios donde tiene sentido destruir y recrear:
- Corregir parámetros mal configurados en un grupo de recursos.
- Aplicar nuevas directivas que cambian la estructura del despliegue.
- Cerrar un ambiente de pruebas para evitar costos en Azure.
- Reiniciar un proyecto desde cero con una configuración limpia.
¿Terraform Destroy elimina solo lo que creé con Terraform? Sí. El comando borra únicamente los recursos administrados por tu archivo de estado de Terraform, no toca recursos creados manualmente en el portal.
¿Qué buena práctica seguir con Terraform Destroy?
La regla de oro es simple: usa la infraestructura el tiempo que necesites y, en cuanto termines, destrúyela. Así no acumulas recursos fantasma que sigan generando cobros, y mantienes la disciplina de tratar tus despliegues como algo desechable y reproducible. Cuéntame en los comentarios qué tan seguido usas terraform destroy en tus proyectos.