0Pricing
Terraform Infrastructure as Code · Lección

Importación de recursos existentes

Aprenda a importar infraestructura en la nube ya existente al estado de Terraform y a incorporar recursos preexistentes a la gestión mediante IaC.

Importación de recursos existentes es una lección gratuita de Terraform Infrastructure as Code en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Terraform Infrastructure as Code, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Terraform Infrastructure as Code incluye 4 lecciones en total.

Incorpore la infraestructura existente a IaC

A veces dispone de recursos en la nube que se crearon manualmente o mediante otras herramientas. Terraform import le permite incorporar estos recursos existentes bajo la gestión de Terraform.

Esto significa que Terraform hará un seguimiento de su estado y podrá aplicar cambios futuros mediante sus archivos de configuración. Es un paso clave para adoptar Infrastructure as Code (IaC) en un entorno "brownfield".

Cuándo debe importar

La importación resulta útil en varias situaciones:

  • Migrar infraestructura existente: incorporar recursos creados fuera de Terraform a su flujo de trabajo de IaC.
  • Adoptar Terraform gradualmente: comenzar con los recursos existentes en lugar de recrearlo todo.
  • Recuperarse de una pérdida del estado: volver a asociar Terraform con los recursos si se pierde el archivo de estado (aunque esto es poco frecuente con el estado remoto).

Domine el comando de importación

La estructura básica del comando terraform import es sencilla. Indica a Terraform que busque un recurso existente en su proveedor de nube y lo añada al archivo de estado, asociándolo con un bloque de recurso de su configuración.

Requiere dos datos principales: la dirección de Terraform del recurso y el ID que el proveedor de nube asigna a dicho recurso.

¿Qué es una dirección de recurso?

La dirección del recurso es la forma en que Terraform identifica un recurso específico dentro de su configuración. Sigue el patrón resource_type.resource_name.

  • resource_type: el tipo de recurso (por ejemplo, aws_s3_bucket, azurerm_resource_group).
  • resource_name: el nombre local que asigna al recurso en su configuración de Terraform (por ejemplo, my_bucket, web_app).

Esta dirección debe existir previamente en sus archivos .tf.

Localice el ID de la nube

Cada recurso de un proveedor de nube (como AWS, Azure o GCP) tiene un identificador único, normalmente denominado ID. Necesitará este ID para indicar a Terraform *qué* recurso existente específico debe importar.

Puede encontrar este ID en la consola del proveedor de nube, mediante su CLI o a través de su API. Por ejemplo, el ID de un bucket de AWS S3 es su nombre, mientras que una instancia EC2 tiene un ID de instancia como i-0abcdef1234567890.

Defina HCL antes de importar

Paso crucial: antes de ejecutar terraform import, debe tener definido un bloque de recurso correspondiente en sus archivos de configuración de Terraform (archivos .tf).

Este bloque indica a Terraform qué tipo de recurso debe esperar y qué atributos debe tener. Terraform utiliza esta definición para comprender el esquema del recurso durante la importación.

HCL para un bucket de S3

Supongamos que tiene un bucket de AWS S3 existente llamado my-existing-coddykit-bucket-123. Primero, defina un bloque de recurso para él en su archivo main.tf:

resource "aws_s3_bucket" "my_imported_bucket" {
  bucket = "my-existing-coddykit-bucket-123"
  # Add other expected attributes if known
  # e.g., acl = "private"
}

Importe el bucket de S3

Ahora que tiene la definición HCL, puede ejecutar el comando terraform import. Sustituya my-existing-coddykit-bucket-123 por el nombre o ID real de su bucket existente.

Asegúrese de haber ejecutado ya terraform init en su directorio.

terraform import aws_s3_bucket.my_imported_bucket my-existing-coddykit-bucket-123

Compruebe el estado de Terraform

Después de una importación correcta, Terraform habrá añadido el recurso a su archivo de estado. Puede verificarlo mediante terraform state show, que muestra los atributos del recurso importado tal como los interpreta Terraform.

A continuación, es fundamental ejecutar terraform plan para asegurarse de que no haya diferencias inesperadas entre su HCL y el estado real del recurso importado.

terraform state show aws_s3_bucket.my_imported_bucket

Comprobación rápida: orden de importación

Desea importar una instancia EC2 existente de AWS a Terraform. ¿Cuál de los siguientes pasos DEBE completarse *antes* de ejecutar el comando terraform import?

Recapitulación: incorpore la infraestructura

Ha aprendido a incorporar recursos existentes de la nube bajo la gestión de Terraform mediante terraform import.

  • Primero, defina el bloque de recurso en su HCL.
  • Después, identifique el ID del recurso asignado por el proveedor de nube.
  • Por último, ejecute terraform import ADDRESS ID.
  • Ejecute siempre después terraform plan para conciliar las diferencias.

Este potente comando ayuda a conectar la infraestructura gestionada manualmente con un entorno completamente basado en IaC.

Preguntas frecuentes

¿La lección «Importación de recursos existentes» es gratis?

Sí — el texto completo de «Importación de recursos existentes» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Terraform Infrastructure as Code, actualiza a CoddyKit PRO. El curso de Terraform Infrastructure as Code incluye 4 lecciones en total.

¿Qué aprenderé en «Importación de recursos existentes»?

Aprenda a importar infraestructura en la nube ya existente al estado de Terraform y a incorporar recursos preexistentes a la gestión mediante IaC. Practicas Terraform Infrastructure as Code con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Terraform Infrastructure as Code?

No se requiere experiencia previa. Terraform Infrastructure as Code en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Importación de recursos existentes»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Terraform Infrastructure as Code?

Sí. Cada lección de Terraform Infrastructure as Code incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Backends de estado remoto
  2. Bloqueo y coherencia del estado
  3. Importación de recursos existentes
  4. Refactorización del estado con moved y removed
← Volver a Terraform Infrastructure as Code