Panoramica di Terraform su Google Cloud

Hashicorp Terraform è uno strumento Infrastructure as Code (IaC) che consente di eseguire il provisioning e di gestire l'infrastruttura cloud. Terraform fornisce plug-in chiamati provider che ti consentono di interagire con i provider cloud e altre API. Puoi utilizzare il provider Terraform per Google Cloud per eseguire il provisioning e gestire l'infrastruttura Google Cloud .

Vantaggi dell'utilizzo di Terraform

Questa sezione illustra alcuni dei vantaggi dell'utilizzo di Terraform per il provisioning e la gestione dell'infrastruttura Google Cloud :

  • Terraform è lo strumento più comunemente utilizzato per il provisioning e l'automazione dell'infrastrutturaGoogle Cloud . Puoi utilizzare il provider Google Cloud per configurare e gestire tutte le risorse Google Cloud utilizzando gli stessi strumenti e la stessa sintassi dichiarativa.
  • Terraform ti consente di specificare lo stato finale preferito per la tua infrastruttura. Puoi quindi eseguire il deployment della stessa configurazione più volte per creare ambienti di sviluppo, test e produzione riproducibili.
  • Terraform ti consente di generare un piano di esecuzione che mostra cosa farà Terraform quando applicherai la configurazione. Questo consente di evitare sorprese quando modifiche l'infrastruttura tramite Terraform.
  • Terraform consente di creare pacchetti e riutilizzare il codice comune sotto forma di moduli. I moduli presentano interfacce standard per la creazione di risorse cloud. Semplificano i progetti aumentando la leggibilità e consentono ai team di organizzare l'infrastruttura in blocchi leggibili. Inoltre, Google Cloudpubblica una serie di moduli di deployment basati su opinioni come blueprint ed esempi di avvio rapido come soluzioni già pronte.
  • Terraform registra lo stato attuale dell'infrastruttura e ti consente di gestire lo stato in modo efficace. Il file di stato Terraform tiene traccia di tutte le risorse in un deployment.

Utilizzo di Terraform

Terraform ha una sintassi dichiarativa e orientata alla configurazione che puoi utilizzare per creare l'infrastruttura di cui vuoi eseguire il provisioning. Utilizzando questa sintassi, definirai lo stato finale preferito per la tua infrastruttura in un file di configurazione Terraform. Dopodiché, utilizzerai Terraform CLI per eseguire il provisioning dell'infrastruttura in base al file di configurazione.

I passaggi seguenti spiegano come funziona Terraform:

  1. Puoi descrivere l'infrastruttura di cui vuoi eseguire il provisioning in un file di configurazione Terraform. Google Cloud Non è necessario scrivere codice che descriva come eseguire il provisioning di questa configurazione.
  2. Puoi eseguire il comando terraform plan, che valuta la configurazione e genera un piano di esecuzione. Puoi rivedere il piano e apportare le modifiche necessarie.
  3. Poi esegui il comando terraform apply, che esegue le seguenti azioni:
    • Esegue il provisioning dell'infrastruttura in base al piano di esecuzione richiamando le API Google Cloud corrispondenti in background.
    • Crea un file di stato Terraform, ovvero una mappatura in formato JSON delle risorse nel tuo file di configurazione alle risorse nell'infrastruttura reale. Terraform utilizza questo file per conoscere lo stato più recente dell'infrastruttura e per determinare quando creare, aggiornare ed eliminare le risorse.
  4. Successivamente, quando esegui terraform apply, Terraform utilizza la mappatura nel file di stato per confrontare l'infrastruttura esistente con il codice e apportare gli aggiornamenti necessari:
    • Se un oggetto della risorsa definito nel file di configurazione non esiste nel file dello stato, Terraform lo crea.
    • Se nel file dello stato esiste un oggetto della risorsa, ma la sua configurazione è diversa da quella del file di configurazione, Terraform aggiorna la risorsa in modo che corrisponda al file di configurazione.
    • Se un oggetto della risorsa nel file dello stato corrisponde al tuo file di configurazione, Terraform lascia la risorsa invariata.

Fornitori di Google Cloud

Esistono due provider che ti consentono di eseguire il provisioning e la gestione Google Cloud dell'infrastruttura:

  • google: utilizza questo provider per eseguire il provisioning e gestire le API Google Cloud.
  • google-beta: utilizza questo provider per eseguire il provisioning e gestire le API beta di Google Cloud.

Per istruzioni sull'utilizzo di questi provider, consulta il riferimento alla configurazione del provider Google Cloud.

I provider google e google-beta sono sviluppati utilizzando uno strumento chiamato Magic Modules. I moduli magici consentono ai collaboratori di apportare modifiche a un singolo codebase e sviluppare contemporaneamente provider google e google-beta.

Puoi contribuire ai provider Google Cloud utilizzando i moduli Magic seguendo le istruzioni riportate nella guida al contributo dei moduli Magic.

Passaggi successivi