action.skip

Terraform Administración del estado con recursos de Megaport

Este tema describe el archivo de estado de Terraform y las prácticas recomendadas para usarlo a fin de asignar sus archivos de configuración a los servicios de Megaport implementados en su red.

¿Qué es el estado de Terraform?

Terraform almacena información sobre los recursos que ha creado en un archivo de estado, llamado terraform.tfstate.

Este archivo se crea automáticamente después de ejecutar el comando terraform apply. Proporciona una instantánea de su infraestructura gestionada por Terraform en un momento específico. Se crea en el mismo directorio donde se ejecuta Terraform. Recomendamos supervisar terraform.tfstate con regularidad.

Los propósitos principales del archivo de estado de Terraform son:

  • Asignación de recursos del mundo real – El archivo de estado realiza el seguimiento de los recursos de infraestructura reales que Terraform ha creado y está administrando. Registra información sobre sus configuraciones, IDs y dependencias.

  • Fuente de la verdad – El archivo de estado es la fuente de la verdad sobre su infraestructura actual. Cuando ejecuta el comando terraform apply, compara sus archivos de configuración con el archivo de estado para determinar qué cambios deben realizarse.

  • Seguimiento de metadatos – El archivo de estado almacena metadatos que Terraform utiliza internamente, como la versión de Terraform usada para crear el estado y las dependencias de los recursos.

Para obtener más información sobre el archivo de estado de Terraform, consulte State (HashiCorp).

Comprender el estado de Terraform para recursos de Megaport

El estado de Terraform es un componente crucial que asigna sus archivos de configuración a los recursos de Megaport implementados en su red. Cuando ejecuta el comando terraform apply, Terraform crea un archivo de estado, terraform.tfstate, que realiza el seguimiento de todos los recursos que gestiona, sus configuraciones e interdependencias.

¿Qué contiene el archivo de estado de Megaport Terraform Provider?

Para los recursos de Megaport, el archivo de estado realiza el seguimiento de información como:

  • IDs y UIDs de recursos
  • Configuraciones de Port
  • Configuraciones de VXC
  • Configuraciones del router de MCR
  • Conexiones con partners
  • Información de ubicación

Conceptos clave de administración del estado

  • Importación de recursos existentes – Si ya tiene servicios de Megaport configurados a través de Portal, use el comando terraform import para ponerlos bajo la administración de Terraform:

    Ejemplo 1: Importar un Port existente

    terraform import megaport_port.my_port "example-uid-41d4-a716-446655440000"
    

    Ejemplo 2: Importar un VXC existente

    terraform import megaport_vxc.my_vxc "example-uid-426f-9247-bb680e5fe0c8"
    

    Para obtener más información, consulte Importación de servicios de producción existentes.

  • Prevención de eliminaciones accidentales – Para proteger la infraestructura crítica, use la función de ciclo de vida prevent_destroy de Terraform. Esta opción evita la eliminación accidental de recursos existentes al aplicar actualizaciones de configuración. Para obtener más información, incluidos algunos ejemplos, consulte Megaport Terraform Provider GitHub repository, Lifecycle Prevent Destroy Example.

  • Almacenamiento del archivo de estado para entornos de equipo – De forma predeterminada, Terraform almacena la información del estado localmente.

    Para el almacenamiento del archivo de estado de Terraform en entornos de equipo, se recomienda usar un espacio de almacenamiento remoto para la colaboración, el control de versiones y la seguridad.

    • Use almacenamiento remoto del estado (Terraform Cloud, S3, etc.).
    • Habilite el bloqueo del estado para evitar modificaciones concurrentes.
    • Considere cifrar los archivos de estado, ya que contienen información confidencial.
  • Mantenimiento del archivo de estado – Ocasionalmente, podría necesitar usar algunos comandos, por ejemplo:

    • terraform state list para ver todos los recursos gestionados.
    • terraform state show para examinar un recurso específico.
    • terraform state rm para quitar un recurso del estado sin destruirlo.
  • Gestión de drift del estado – El archivo de estado de Terraform realiza el seguimiento de toda la infraestructura que gestiona. Cambiar manualmente estos recursos fuera de Terraform puede hacer que el archivo de estado se vuelva inexacto, una situación conocida como drift.

    Si el registro de Terraform de su infraestructura no coincide con la realidad, intentará corregir las discrepancias, lo que podría conducir a la eliminación o recreación no intencionada de sus recursos. Para obtener más información, consulte Manage resource drift (HashiCorp).

    Si se realizan cambios en los recursos de Megaport fuera de Terraform:

    • Use el comando terraform refresh para actualizar el estado con las configuraciones actuales de los recursos.
    • Considere ejecutar el comando terraform plan regularmente para detectar cambios no autorizados.

Prácticas recomendadas

Recomendamos seguir estas prácticas para obtener resultados óptimos con Terraform:

  • Haga una copia de seguridad de su archivo de estado con regularidad – Perderlo es irreversible.
  • Controle en versiones sus archivos de configuración – Sin embargo, nunca guarde archivos de estado que contengan datos confidenciales como credenciales. Para obtener más información, consulte Sensitive Data in State (HashiCorp).
  • Modularice configuraciones complejas – Este enfoque mejora la administración de recursos al promover una estructura más organizada y reutilizable.
  • Bloquee los servicios de Megaport en Portal – El estado de Terraform es la fuente de la verdad para la administración de recursos. Para evitar cambios en conflicto en los servicios de producción en Portal y Terraform, se recomienda bloquear los servicios de producción. Para obtener más información, consulte Bloqueo de servicios de Megaport.

Para obtener más información, consulte Learn Terraform recommended practices (HashiCorp).

Referencias útiles