¿Ya dominas lo básico? Un curso estructurado de Terraform es la vía rápida para dar el salto.
Ver cursos de Terraform en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02¿Qué es Terraform?
- 03Comprobar la versión con terraform version
- 04¿Qué es la infraestructura como código?
- 05¿Qué es un proveedor?
- 06Preparar los proveedores con terraform init
- 07¿Qué es un bloque resource?
- 08Comprobar la sintaxis con terraform validate
- 09Dar formato al código con terraform fmt
- 10Previsualizar los cambios con terraform plan
- 11Construir la infraestructura con terraform apply
- 12¿Qué es el tfstate?
- 13Ver el estado con terraform show
- 14Listar recursos con terraform state list
- 15Inspeccionar un recurso con terraform state show
- 16¿Qué son las variables?
- 17¿Qué son las salidas?
- 18Leer las salidas con terraform output
- 19Desmontar con terraform destroy
- 20¿Qué es un módulo?
- 21¿Qué es un workspace?
- 22Listar workspaces con terraform workspace list
- 23Crear un workspace con terraform workspace new
- 24Cambiar de workspace con terraform workspace select
- 25Guardar un plan con terraform plan -out
- 26Aplicar un plan guardado con terraform apply
- 27¿Qué es el bloqueo del estado?
- 28Listar proveedores con terraform providers
- 29¿Qué es terraform refresh?
- 30¿Qué es un backend remoto?
- 31Adoptar recursos existentes con terraform import
- 32¿Qué es depends_on?
- 33¿Qué son for_each y count?
- 34Ver las dependencias con terraform graph
- 35¿Qué es el drift del estado?
- 36Cómo pensar la división en módulos
- 37Práctica final: montar una arquitectura web de tres capas con Terraform
¿Qué es depends_on?
En esta lección controlarás el orden de creación cuando Terraform no puede deducirlo.
depends_on declara explícitamente que un recurso depende de otro. terraform plan refleja el orden resultante.
Lo primero que hay que saber es que casi nunca hace falta. Terraform construye el grafo de dependencias solo, a partir de las referencias: si un bloque menciona aws_instance.web.id, la dependencia ya está declarada. Ese mecanismo cubre la gran mayoría de los casos.
Se necesita para las dependencias que no se ven en el código: una aplicación que no arranca si un rol de IAM no está listo, aunque no lo mencione; un recurso que exige que otro exista aunque no comparta ningún valor.
El síntoma que delata una de estas es un fallo intermitente: funciona a veces y falla otras, según el orden en que Terraform decidió crear las cosas en paralelo. Los fallos intermitentes en un apply son casi siempre esto.
Usarlo de más tiene un coste real: cada dependencia artificial reduce el paralelismo y alarga las aplicaciones. Y con módulos es especialmente contundente, porque afecta al módulo entero.
La regla práctica: usar referencias siempre que se pueda, y depends_on solo cuando no haya ninguna que usar.
🧑💻 Puedes escribir este comando en la terminal simulada de Terraform para probarlo tú mismo (esta página no incluye terminal interactiva).
