action.skip

Gestione dello stato di Terraform con le risorse di Megaport

Questo argomento descrive il file di stato di Terraform e le pratiche consigliate per utilizzarlo per mappare i tuoi file di configurazione con i servizi di Megaport distribuiti nella tua rete.

Cos’è lo stato di Terraform?

Terraform memorizza le informazioni sulle risorse che hai creato in un file di stato, chiamato terraform.tfstate.

Questo file viene creato automaticamente dopo aver eseguito il comando terraform apply. Fornisce uno snapshot della tua infrastruttura gestita da Terraform in un momento specifico. Viene creato nella stessa directory in cui viene distribuito Terraform. Consigliamo di monitorare regolarmente terraform.tfstate.

I principali scopi del file di stato di Terraform sono:

  • Mappatura delle risorse reali – Il file di stato tiene traccia delle risorse di infrastruttura reali che Terraform ha creato e sta gestendo. Registra informazioni sulle loro configurazioni, ID e dipendenze.

  • Fonte di verità – Il file di stato è la fonte di verità sulla tua infrastruttura corrente. Quando esegui il comando terraform apply, confronta i tuoi file di configurazione con il file di stato per determinare quali modifiche devono essere apportate.

  • Monitoraggio dei metadati – Il file di stato conserva i metadati che Terraform utilizza internamente, come la versione di Terraform utilizzata per creare lo stato e le dipendenze delle risorse.

Per ulteriori informazioni sul file di stato di Terraform, visualizza Stato (HashiCorp).

Comprendere lo stato di Terraform per le risorse di Megaport

Lo stato di Terraform è un componente cruciale che mappa i tuoi file di configurazione con le risorse di Megaport distribuite sulla tua rete. Quando esegui il comando terraform apply, Terraform crea un file di stato, terraform.tfstate, che monitora tutte le risorse che gestisce, le loro configurazioni e le interdipendenze.

Cosa contiene il file di stato di Megaport Terraform Provider?

Per le risorse di Megaport, il file di stato monitora informazioni come:

  • ID delle risorse e UID
  • Configurazioni Porta
  • Impostazioni VXC
  • Configurazioni router MCR
  • Connessioni del partner
  • Informazioni sulla posizione

Concetti chiave della gestione dello stato

  • Importazione delle risorse esistenti – Se hai già configurato i servizi di Megaport tramite Portal, usa il comando terraform import per portarli sotto la gestione di Terraform:

    Esempio 1: Importa una Porta esistente

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

    Esempio 2: Importa un VXC esistente

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

    Per ulteriori informazioni, consulta Importazione dei servizi di produzione esistenti.

  • Prevenzione delle eliminazioni accidentali – Per proteggere i servizi di produzione:

    • Esegui sempre il comando terraform plan prima di applicare le modifiche.
    • Considera l’uso del flag -target per limitare l’ambito delle modifiche.
    • Aggiungi blocchi di ciclo di vita per prevenire la distruzione di risorse critiche. Per ulteriori informazioni, visualizza Gestione del ciclo di vita delle risorse (HashiCorp).
       resource "megaport_port" "production_port" {
       # Port configuration...
    
       lifecycle {
       prevent_destroy = true
       }
    }
    
  • Archiviazione del file di stato per ambienti di team – Di default, Terraform memorizza le informazioni sullo stato localmente.

    Per l’archiviazione del file di stato di Terraform negli ambienti di team, si consiglia l’uso di uno spazio di archiviazione remoto per la collaborazione, il controllo delle versioni e la sicurezza.

    • Utilizzare l’archiviazione dello stato remoto (Terraform Cloud, S3, e così via).
    • Abilitare il blocco dello stato per prevenire modifiche simultanee.
    • Considera la crittografia dei file di stato in quanto contengono informazioni sensibili.
  • Manutenzione del file di stato – Occasionalmente, potrebbe essere necessario utilizzare alcuni comandi, per esempio:

    • terraform state list per visualizzare tutte le risorse gestite.
    • terraform state show per esaminare una risorsa specifica.
    • terraform state rm per rimuovere una risorsa dallo stato senza distruggerla.
  • Gestione dello stato drift – Il file di stato di Terraform tiene traccia di tutta l’infrastruttura che gestisce. Modificare manualmente queste risorse al di fuori di Terraform può causare l’inaccuratezza del file di stato, una situazione nota come drift.

    Se il resoconto di Terraform sulla tua infrastruttura non corrisponde alla realtà, cercherà di correggere le discrepanze, potenzialmente provocando l’eliminazione o la ricreazione non intenzionale delle tue risorse. Per ulteriori informazioni, visualizza Gestione del drift della risorsa (HashiCorp).

    Se vengono apportate modifiche alle risorse di Megaport al di fuori di Terraform:

    • Utilizzare il comando terraform refresh per aggiornare lo stato con le configurazioni di risorse correnti.
    • Considera di eseguire regolarmente il comando terraform plan per rilevare modifiche non autorizzate.

Pratiche consigliate

Raccomandiamo di seguire queste pratiche per ottenere risultati ottimali con Terraform:

  • Esegui regolarmente il backup del tuo file di stato – La sua perdita è irreversibile.
  • Versiona i tuoi file di configurazione – Tuttavia, non salvare mai i file di stato che contengono dati sensibili come le credenziali. Per ulteriori informazioni, visualizza Dati sensibili nello stato (HashiCorp).
  • Modularizza le configurazioni complesse – Questo approccio migliora la gestione delle risorse promuovendo una struttura più organizzata e riutilizzabile.
  • Blocca i servizi di Megaport nel Portal – Lo stato di Terraform è la fonte di verità per la gestione delle risorse. Per evitare modifiche conflittuali ai servizi di produzione nel Portal e in Terraform, si consiglia di bloccare i servizi di produzione. Per ulteriori informazioni, consulta Bloccare i Servizi Megaport.

Per ulteriori informazioni, visualizza Scopri le pratiche consigliate di Terraform (HashiCorp).

Riferimenti utili