Crea un flusso di lavoro utilizzando Terraform
Questa guida rapida mostra come creare, eseguire il deployment ed eseguire il primo flusso di lavoro utilizzando Terraform. Terraform è uno strumento Infrastructure as Code che consente di creare, modificare e migliorare in modo prevedibile la tua infrastruttura cloud utilizzando codice. Scopri come utilizzare Terraform per eseguire il provisioning dell'infrastruttura su Google Cloud.
In questa guida rapida, il flusso di lavoro di esempio invia una richiesta a un'API pubblica e poi restituisce la risposta dell'API.
Dovrai completare le seguenti operazioni:
- Abilita l'API Workflows utilizzando Terraform.
- Creare un account di servizio per il flusso di lavoro utilizzando Terraform.
- Definire ed eseguire il deployment di un flusso di lavoro utilizzando Terraform.
- Esegui il flusso di lavoro utilizzando Google Cloud CLI.
Prima di iniziare
I vincoli di sicurezza definiti dalla tua organizzazione potrebbero impedirti di completare i passaggi seguenti. Per informazioni sulla risoluzione dei problemi, vedi Sviluppare applicazioni in un ambiente Google Cloud vincolato.
Tieni presente che Terraform ha già integrato in Cloud Shell. Se devi installare Terraform, consulta la documentazione di HashiCorp Terraform.
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea o seleziona un progetto Google Cloud.
-
Crea un progetto Google Cloud:
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_ID
con un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_ID
con il nome del tuo progetto Google Cloud.
-
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Cloud Resource Manager and Identity and Access Management (IAM).
gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com - Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea o seleziona un progetto Google Cloud.
-
Crea un progetto Google Cloud:
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_ID
con un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_ID
con il nome del tuo progetto Google Cloud.
-
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Cloud Resource Manager and Identity and Access Management (IAM).
gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com
Crea un file di configurazione Terraform
Crea un file di configurazione Terraform denominato main.tf
e includi le risorse del provider Google per Terraform utilizzate in questa guida rapida.
Tieni presente che puoi utilizzare l'interpolazione per sostituzioni, ad esempio variabili di riferimento, attributi delle risorse e funzioni di chiamata.
Crea una directory:
mkdir terraform
Vai alla directory
terraform
:cd terraform
Aggiungi un nuovo file,
main.tf
, alla directory:nano main.tf
Aggiungi le seguenti risorse al file
main.tf
:Assegna l'ID del progetto:
provider "google" { project = "PROJECT_ID" }
Sostituisci
PROJECT_ID
con l'ID del progetto.Abilita l'API Workflows:
Crea un account di servizio per il flusso di lavoro:
Definisci il flusso di lavoro utilizzando la risorsa
google_workflows_workflow
:Nel flusso di lavoro di esempio vengono utilizzati i seguenti argomenti:
name
: il nome del flusso di lavoro.region
: la posizione del flusso di lavoro.description
: una descrizione del flusso di lavoro.service_account
: l'indirizzo email o l'ID univoco dell'account di servizio associato alla versione più recente del flusso di lavoro. Questo account di servizio rappresenta l'identità del flusso di lavoro e determina le autorizzazioni del flusso di lavoro. Se non specifichi un account di servizio durante la creazione del flusso di lavoro, quest'ultimo utilizza l'account di servizio predefinito di Compute Engine per la propria identità. Per maggiori informazioni, consulta Concedere l'autorizzazione dei flussi di lavoro per l'accesso alle risorse Google Cloud.labels
: un elenco di coppie chiave-valore da assegnare a questo flusso di lavoro che ti aiuta a organizzare le istanze Google Cloud. Per scoprire di più, consulta la sezione Che cosa sono le etichette?user_env_vars
: variabili di ambiente definite dall'utente associate a questa revisione del flusso di lavoro. Per maggiori informazioni, consulta Utilizzare le variabili di ambiente.source_contents
: il codice di Workflows da eseguire. Per il limite di dimensione del file, consulta Limiti delle risorse.
Altri argomenti facoltativi sono:
crypto_key_name
: l'ID risorsa per una chiave Cloud Key Management Service nel formato seguente:projects/PROJECT_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Per maggiori informazioni, consulta Utilizzare le chiavi di crittografia gestite dal cliente.
call_log_level
: il livello di logging da applicare alle chiamate e alle risposte alle chiamate durante le esecuzioni di questo flusso di lavoro. I valori possibili sono:CALL_LOG_LEVEL_UNSPECIFIED
LOG_ALL_CALLS
LOG_ERRORS_ONLY
LOG_NONE
Per ulteriori informazioni, vedi Registrazione chiamate.
project
: l'ID del progetto a cui appartiene la risorsa. Se non viene fornito, viene utilizzato il progetto del provider.name_prefix
: crea un nome univoco che inizia con il prefisso specificato. Se questo ename
non vengono specificati, viene scelto un valore casuale per il nome.
Crea ed esegui il flusso di lavoro
Esegui il deployment delle tue risorse Terraform per creare il flusso di lavoro e quindi eseguirlo.
Inizializza Terraform nella directory:
terraform init
Verifica che le modifiche che proponi con Terraform corrispondano al piano previsto:
terraform plan
Puoi ignorare la nota relativa al non utilizzo dell'opzione
-out
.Crea il flusso di lavoro:
terraform apply
Al prompt Inserisci un valore, digita
yes
per procedere con la creazione delle risorse.Conferma la creazione di un flusso di lavoro:
gcloud workflows list --location us-central1
L'output dovrebbe essere simile al seguente:
NAME STATE REVISION_ID UPDATE_TIME projects/project-name/locations/us-central1/workflows/sample-workflow ACTIVE 000001-f9a 2024-02-24T13:38:58.353765906Z
Facoltativamente, puoi eseguire il flusso di lavoro:
gcloud workflows execute sample-workflow
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, elimina il progetto Google Cloud con le risorse.
- Elimina tutte le risorse che hai creato con Terraform:
terraform destroy
- Elimina il flusso di lavoro creato:
gcloud workflows delete sample-workflow
Quando ti viene chiesto se vuoi continuare, digitay
. - In alternativa, puoi eliminare il progetto Google Cloud per evitare addebiti. L'eliminazione del tuo progetto Google Cloud interrompe la fatturazione per tutte le risorse utilizzate all'interno di quel progetto.
Elimina un progetto Google Cloud:
gcloud projects delete PROJECT_ID