Crea un workflow utilizzando Terraform
Questa guida rapida mostra come creare, eseguire il deployment ed eseguire il tuo primo workflow utilizzando Terraform. Terraform è uno strumento Infrastructure as Code che consente di creare, modificare e migliorare in modo prevedibile l'infrastruttura cloud utilizzando il 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.
Completerai le seguenti attività:
- Abilita l'API Workflows utilizzando Terraform.
- Crea un account di servizio per il flusso di lavoro utilizzando Terraform.
- Definisci ed esegui il deployment di un workflow utilizzando Terraform.
- Esegui il workflow 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 Cloud Shell ha già Terraform integrato. 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 senza costi per l'esecuzione, il test e il deployment dei workload.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon 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_IDcon il nome del progetto Google Cloud .
-
Se utilizzi un progetto esistente per questa guida, verifica di disporre delle autorizzazioni necessarie per completare la guida. Se hai creato un nuovo progetto, disponi già delle autorizzazioni necessarie.
-
Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .
Attiva le API Cloud Resource Manager, Identity and Access Management (IAM) e Service Usage:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com serviceusage.googleapis.com -
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon 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_IDcon il nome del progetto Google Cloud .
-
Se utilizzi un progetto esistente per questa guida, verifica di disporre delle autorizzazioni necessarie per completare la guida. Se hai creato un nuovo progetto, disponi già delle autorizzazioni necessarie.
-
Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .
Attiva le API Cloud Resource Manager, Identity and Access Management (IAM) e Service Usage:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com serviceusage.googleapis.com
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per completare questa guida rapida, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo progetto:
-
Project IAM Admin (
roles/resourcemanager.projectIamAdmin) -
Amministratore service account (
roles/iam.serviceAccountAdmin) -
Utente Service Account (
roles/iam.serviceAccountUser) -
Workflows Admin (
roles/workflows.admin)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
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 le sostituzioni, ad esempio variabili di riferimento, attributi delle risorse e funzioni di chiamata.
Creare una directory:
mkdir terraformVai alla directory
terraform:cd terraform
Aggiungi un nuovo file,
main.tf, alla directory:nano main.tfAggiungi le seguenti risorse al file
main.tf:Assegna l'ID del progetto:
provider "google" { project = "PROJECT_ID" }
Sostituisci
PROJECT_IDcon l'ID del tuo progetto.Abilita l'API Workflows:
Crea un account di servizio per il workflow:
Definisci il workflow utilizzando la risorsa
google_workflows_workflow:Nel workflow di esempio vengono utilizzati i seguenti argomenti:
name: il nome del workflow.region: la posizione del workflow.description: una descrizione del workflow.service_account: l'indirizzo email o l'ID univoco del account di servizio associato all'ultima versione del workflow. Questo account di servizio rappresenta l'identità del workflow e determina le autorizzazioni di cui dispone. Se non specifichi un account di servizio durante la creazione del workflow, quest'ultimo utilizza il account di servizio Compute Engine predefinito per la sua identità. Per saperne di più, vedi Concedi l'autorizzazione dei workflow per l'accesso alle Google Cloud risorse.labels: un elenco di coppie chiave-valore di etichette da assegnare a questo workflow che ti aiuta a organizzare le istanze Google Cloud . Per saperne di più, vedi Che cosa sono le etichette?user_env_vars: variabili di ambiente definite dall'utente associate a questa revisione del workflow. Per saperne di più, vedi Utilizzare le variabili di ambiente.source_contents: il codice di Workflows da eseguire. Per il limite delle dimensioni dei file, vedi Limiti delle risorse.
Altri argomenti facoltativi includono:
crypto_key_name: l'ID risorsa per una chiave Cloud Key Management Service nel seguente formato:projects/PROJECT_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Per saperne di più, vedi 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_UNSPECIFIEDLOG_ALL_CALLSLOG_ERRORS_ONLYLOG_NONE
Per saperne di più, consulta Registrazione delle chiamate.
project: l'ID del progetto a cui appartiene la risorsa. Se non viene fornito, viene utilizzato il progetto del fornitore.name_prefix: crea un nome univoco che inizia con il prefisso specificato. Se questo enamenon sono specificati, viene scelto un valore casuale per il nome.
Crea ed esegui il flusso di lavoro
Esegui il deployment delle risorse Terraform per creare il flusso di lavoro ed eseguirlo.
Inizializza Terraform nella directory:
terraform initVerifica che le modifiche che proponi con Terraform corrispondano al piano previsto:
terraform planPuoi ignorare la nota relativa al mancato utilizzo dell'opzione
-out.Crea il workflow:
terraform applyAl prompt Inserisci un valore, digita
yesper procedere con la creazione delle risorse.Verifica che sia stato creato 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
(Facoltativo) Puoi eseguire il workflow:
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:
Quando ti viene chiesto se vuoi continuare, digitagcloud workflows delete sample-workflow
y. - In alternativa, puoi eliminare il tuo progetto Google Cloud per evitare addebiti. L'eliminazione del tuo progetto Google Cloud interrompe la fatturazione per tutte le risorse utilizzate al suo interno.
Elimina un progetto Google Cloud :
gcloud projects delete PROJECT_ID
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2026-03-28 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2026-03-28 UTC."],[],[]]