AD

¿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 Udemy

Enlace de afiliado. No te cuesta nada extra.

Lección 31 / 37

Adoptar recursos existentes con terraform import

En esta lección pondrás bajo la gestión de Terraform algo que ya existe.

terraform import aws_instance.web i-0123456789abcdef0 asocia ese recurso real con esa dirección de la configuración, escribiéndolo en el estado.

Es la respuesta a una situación muy común: la infraestructura existe desde antes de Terraform, creada a mano, y hay que adoptarla sin destruirla y volverla a crear.

Hay un paso que se olvida y que hace fallar el intento: el bloque resource tiene que existir ya en la configuración. El import solo rellena el estado; no escribe código.

Y después viene el trabajo de verdad. Tras importar, un plan normalmente propone un montón de cambios, porque el bloque que escribiste a mano no coincide con la realidad. Lo correcto es mirar terraform state show, ajustar el bloque atributo a atributo, y repetir hasta que el plan no proponga nada. Solo entonces la adopción está terminada.

Se importa de uno en uno, y cada tipo de recurso tiene su propio formato de identificador, que hay que consultar en la documentación del proveedor.

En versiones recientes existe el bloque import, que permite declararlas en la configuración y verlas en el plan antes de aplicarlas — bastante más seguro.

Terraform
Pruébalo (escríbelo en la terminal simulada)
terraform import aws_instance.web i-0123456789abcdef0

🧑‍💻 Puedes escribir este comando en la terminal simulada de Terraform para probarlo tú mismo (esta página no incluye terminal interactiva).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)