Crea un flusso di lavoro utilizzando Terraform
Questa guida rapida illustra come creare, eseguire il deployment ed eseguire il tuo 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 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.
Completa le seguenti operazioni:
- Abilitare l'API Workflows utilizzando Terraform.
- Creare un account di servizio per il flusso di lavoro utilizzando Terraform.
- Definisci ed esegui il deployment di un flusso di lavoro utilizzando Terraform.
- Eseguire 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 è già integrato in Cloud Shell. Per installare Terraform, consulta Documentazione di Terraform su hashiCorp.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Resource Manager and Identity and Access Management (IAM) APIs:
gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Resource Manager and Identity and Access Management (IAM) APIs:
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 il comando
Risorse provider Google per Terraform utilizzate in
di questa guida rapida.
Tieni presente che puoi utilizzare l'interpolazione per le sostituzioni, come le variabili di riferimento, gli attributi delle risorse e le 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
google_workflows_workflow
risorsa:Nel flusso di lavoro di esempio vengono utilizzati i seguenti argomenti:
name
: il nome del flusso di lavoro.region
: il località del flusso di lavoro.description
: una descrizione del flusso di lavoro.service_account
: indirizzo email o ID univoco dell'account di servizio associate all'ultima versione del flusso di lavoro. Questo account di servizio rappresenta l'identità del flusso di lavoro e determina quali autorizzazioni del flusso di lavoro. Se non specifichi un account di servizio durante alla creazione del flusso di lavoro, il flusso di lavoro utilizza la Compute Engine predefinita di account di servizio per la propria identità. Per ulteriori informazioni, vedi Concedi 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 aiuta a organizzare le istanze Google Cloud. Per maggiori informazioni le informazioni, vedi Che cosa sono le etichette?user_env_vars
: variabili di ambiente definite dall'utente associate a questo elemento revisione del flusso di lavoro. Per ulteriori informazioni, vedi Utilizza le variabili di ambiente.source_contents
: il codice di Workflows da eseguire. Per il limite di dimensioni dei file, consulta Limiti delle risorse.
Altri argomenti facoltativi sono:
crypto_key_name
: l'ID risorsa di una chiave Cloud Key Management Service nella seguente formato:projects/PROJECT_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Per saperne di più, consulta Utilizzare le chiavi di crittografia gestite dal cliente.
call_log_level
: il livello di logging da applicare a chiamate e chiamate durante l'esecuzione di questo flusso di lavoro. I valori possibili sono:CALL_LOG_LEVEL_UNSPECIFIED
LOG_ALL_CALLS
LOG_ERRORS_ONLY
LOG_NONE
Per ulteriori informazioni, 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 ename
non 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, quindi esegui il flusso di lavoro.
Inizializza Terraform nella directory:
terraform init
Verifica che le modifiche proposte con Terraform corrispondano al piano previsto:
terraform plan
Puoi ignorare la nota relativa al mancato utilizzo dell'opzione
-out
.Crea il flusso di lavoro:
terraform apply
Nel prompt Inserisci un valore, digita
yes
per procedere con la creazione Google Cloud.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
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 su 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, inseriscigcloud workflows delete sample-workflow
y
. - In alternativa, puoi eliminare il progetto Google Cloud per evitare addebiti. L'eliminazione del progetto Google Cloud interrompe la fatturazione per tutte le risorse utilizzate al suo interno.
Delete a Google Cloud project:
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 2024-11-23 UTC.