Questo documento fornisce linee guida e suggerimenti per le operazioni di Terraform.
Questa guida non è un'introduzione a Terraform. Per un'introduzione all'utilizzo Terraform con Google Cloud, consulta Inizia a utilizzare Terraform.
Pianifica sempre prima
Genera sempre prima un piano per le esecuzioni di Terraform. Salva il piano in un file di output. Esegui il piano dopo l'approvazione del proprietario dell'infrastruttura. Anche quando gli sviluppatori stanno apportando modifiche di prototipazione a livello locale, devono generare un piano le risorse da aggiungere, modificare ed eliminare prima di applicare e il piano d'azione.
Implementare una pipeline automatizzata
Per garantire un contesto di esecuzione coerente, esegui Terraform
e l'addestramento degli strumenti. Se un sistema di compilazione (come Jenkins) è già in uso e ampiamente adottato,
usalo per eseguire automaticamente i comandi terraform plan
e terraform apply
.
Se non è disponibile alcun sistema esistente, adotta
Cloud Build
o
Terraform Cloud.
Usa le credenziali dell'account di servizio per l'integrazione continua
Quando Terraform viene eseguito da una macchina in una pipeline CI/CD, dovrebbe ereditare le credenziali dell'account di servizio dal servizio che esegue la pipeline. Ove possibile, esegui pipeline CI su Google Cloud perché Inserisci le credenziali di Cloud Build, Google Kubernetes Engine o Compute Engine senza scaricare le chiavi degli account di servizio.
Per le pipeline che vengono eseguite al di fuori di Google Cloud, preferisci federazione delle identità per i carichi di lavoro per ottenere le credenziali senza scaricare le chiavi degli account di servizio.
Evitare di importare risorse esistenti
Se possibile, evita di importare risorse esistenti
(utilizzando terraform import
), perché l'esecuzione
quindi può rendere difficile comprendere appieno la provenienza e la configurazione
delle risorse create manualmente. Crea invece nuove risorse tramite Terraform
ed eliminare le risorse precedenti.
Nei casi in cui l'eliminazione delle vecchie risorse comporterebbe un notevole lavoro manuale,
usa il comando terraform import
con approvazione esplicita. Dopo che una risorsa viene
importati in Terraform, puoi gestirlo esclusivamente con Terraform.
Google offre uno strumento che puoi utilizzare per importare le risorse Google Cloud nello stato di Terraform. Per ulteriori informazioni, consulta Importare le tue risorse Google Cloud in Terraform .
Non modificare manualmente lo stato di Terraform
Il file di stato di Terraform è fondamentale per mantenere il mapping tra
Configurazione Terraform e risorse Google Cloud. La corruzione può portare
ai principali problemi infrastrutturali. Quando le modifiche allo stato di Terraform
necessario, utilizza terraform state
.
Rivedi regolarmente i blocchi delle versioni
Il blocco delle versioni garantisce stabilità, ma impedisce correzioni di bug e altre dei miglioramenti all'integrazione nella configurazione. Pertanto, controllare regolarmente i pin di versione per Terraform, provider e moduli Terraform.
Per automatizzare questo processo, utilizza uno strumento come Dependabot.
Usa le credenziali predefinite dell'applicazione durante l'esecuzione in locale
Quando gli sviluppatori eseguono l'iterazione locale della configurazione Terraform,
eseguire l'autenticazione
gcloud auth application-default login
per generare le credenziali predefinite dell'applicazione. Non scaricare l'account di servizio
poiché le chiavi scaricate sono più difficili da gestire e proteggere.
Impostare gli alias su Terraform
Per semplificare lo sviluppo locale, puoi aggiungere alias alla shell di comando profilo:
alias tf="terraform"
alias terrafrom="terraform"
Passaggi successivi
- Scopri le best practice per utilizzare Terraform in modo sicuro.
- Scopri le best practice per testare i moduli e le configurazioni Terraform.