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 importper 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 planprima di applicare le modifiche. - Considera l’uso del flag
-targetper 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).
- Esegui sempre il comando
-
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 listper visualizzare tutte le risorse gestite.terraform state showper esaminare una risorsa specifica.terraform state rmper 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 refreshper aggiornare lo stato con le configurazioni di risorse correnti. - Considera di eseguire regolarmente il comando
terraform planper rilevare modifiche non autorizzate.
- Utilizzare il comando
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).