Workflow mit Terraform erstellen
In dieser Kurzanleitung erfahren Sie, wie Sie mit Terraform Ihren ersten Workflow erstellen, bereitstellen und ausführen. Terraform ist ein Infrastruktur-als-Code-Tool, mit dem Sie Ihre Cloud-Infrastruktur mithilfe von Code vorhersehbar erstellen, ändern und verbessern können. Mit Terraform die Infrastruktur in Google Cloud bereitstellen.
In dieser Kurzanleitung sendet der Beispielworkflow eine Anfrage an eine öffentliche API und gibt dann die Antwort der API zurück.
Sie werden folgende Schritte durchführen:
- Aktivieren Sie die Workflows API mit Terraform.
- Erstellen Sie mit Terraform ein Dienstkonto für den Workflow.
- Workflow mit Terraform definieren und bereitstellen
- Führen Sie den Workflow mit der Google Cloud CLI aus.
Hinweise
Von Ihrer Organisation definierte Sicherheitsbeschränkungen verhindern möglicherweise, dass die folgenden Schritte ausgeführt werden. Informationen zur Fehlerbehebung finden Sie unter Anwendungen in einer eingeschränkten Google Cloud-Umgebung entwickeln.
Terraform ist bereits in Cloud Shell integriert. Wenn Sie Terraform installieren müssen, finden Sie entsprechende Informationen in der HashiCorp-Terraform-Dokumentation.
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
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.
-
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Aktivieren Sie die Cloud Resource Manager and Identity and Access Management (IAM) APIs:
gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com - Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
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.
-
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Aktivieren Sie die Cloud Resource Manager and Identity and Access Management (IAM) APIs:
gcloud services enable cloudresourcemanager.googleapis.com
iam.googleapis.com
Terraform-Konfigurationsdatei erstellen
Erstellen Sie eine Terraform-Konfigurationsdatei mit dem Namen main.tf
und fügen Sie den Google-Anbieter für Terraform-Ressourcen ein, die in dieser Kurzanleitung verwendet werden.
Sie können die Interpolation für Substitutionen wie Referenzvariablen, Ressourcenattribute und Aufruffunktionen verwenden.
Erstellen Sie ein Verzeichnis:
mkdir terraform
Wechseln Sie in das Verzeichnis
terraform
:cd terraform
Fügen Sie dem Verzeichnis die neue Datei
main.tf
hinzu:nano main.tf
Fügen Sie der Datei
main.tf
die folgenden Ressourcen hinzu:Weisen Sie die ID des Projekts zu:
provider "google" { project = "PROJECT_ID" }
Ersetzen Sie
PROJECT_ID
durch die ID Ihres Projekts.Workflows API aktivieren:
Erstellen Sie ein Dienstkonto für den Workflow:
Definieren Sie den Workflow mit der Ressource
google_workflows_workflow
:Die folgenden Argumente werden im Beispielworkflow verwendet:
name
: Der Name Ihres Workflows.region
: der Speicherort des Workflows.description
: eine Beschreibung Ihres Workflows.service_account
: die E-Mail-Adresse oder eindeutige ID des Dienstkontos, das mit der neuesten Workflowversion verknüpft ist. Dieses Dienstkonto stellt die Identität des Workflows dar und bestimmt, welche Berechtigungen der Workflow hat. Wenn Sie beim Erstellen des Workflows kein Dienstkonto angeben, verwendet der Workflow das Compute Engine-Standarddienstkonto als Identität. Weitere Informationen finden Sie unter Workflowberechtigung für den Zugriff auf Google Cloud-Ressourcen gewähren.labels
: eine Liste von Schlüssel/Wert-Label-Paaren, die diesem Workflow zugewiesen werden können, um Ihre Google Cloud-Instanzen zu organisieren. Weitere Informationen finden Sie unter Was sind Labels?user_env_vars
: Benutzerdefinierte Umgebungsvariablen, die mit dieser Workflowversion verknüpft sind. Weitere Informationen finden Sie unter Umgebungsvariablen verwenden.source_contents
: der auszuführende Workflow-Code. Informationen zum Limit für die Dateigröße finden Sie unter Ressourcenlimits.
Weitere optionale Argumente sind:
crypto_key_name
: die Ressourcen-ID für einen Cloud Key Management Service-Schlüssel im folgenden Format:projects/PROJECT_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Weitere Informationen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel verwenden.
call_log_level
: die Logging-Ebene, die bei der Ausführung dieses Workflows auf Aufrufe und Anrufantworten angewendet werden soll. Folgende Werte sind möglich:CALL_LOG_LEVEL_UNSPECIFIED
LOG_ALL_CALLS
LOG_ERRORS_ONLY
LOG_NONE
project
: die ID des Projekts, zu dem die Ressource gehört. Wenn sie nicht angegeben ist, wird das Anbieterprojekt verwendet.name_prefix
: Erstellt einen eindeutigen Namen, der mit dem angegebenen Präfix beginnt. Wenn dies undname
nicht angegeben sind, wird ein zufälliger Wert für den Namen ausgewählt.
Workflow erstellen und ausführen
Stellen Sie Ihre Terraform-Ressourcen bereit, um den Workflow zu erstellen, und führen Sie dann den Workflow aus.
Initialisieren Sie Terraform im Verzeichnis:
terraform init
Prüfen Sie, ob die mit Terraform vorgeschlagenen Änderungen mit dem erwarteten Plan übereinstimmen:
terraform plan
Sie können die Notiz zum Verwenden der Option
-out
ignorieren.Erstellen Sie den Workflow:
terraform apply
Geben Sie in der Eingabeaufforderung Wert eingeben
yes
ein, um mit dem Erstellen von Ressourcen fortzufahren.Prüfen Sie, ob ein Workflow erstellt wird:
gcloud workflows list --location us-central1
Die Ausgabe sollte in etwa so aussehen:
NAME STATE REVISION_ID UPDATE_TIME projects/project-name/locations/us-central1/workflows/sample-workflow ACTIVE 000001-f9a 2024-02-24T13:38:58.353765906Z
Optional können Sie den Workflow ausführen:
gcloud workflows execute sample-workflow
Bereinigen
Löschen Sie das Google Cloud-Projekt mit den Ressourcen, damit Ihrem Google Cloud-Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.
- Löschen Sie alle Ressourcen, die Sie mit Terraform erstellt haben:
terraform destroy
- Löschen Sie den erstellten Workflow:
gcloud workflows delete sample-workflow
Wenn Sie gefragt werden, ob Sie fortfahren möchten, geben Siey
ein. - Alternativ können Sie Ihr Google Cloud-Projekt löschen, um wiederkehrende Gebühren zu vermeiden. Wenn Sie Ihr Google Cloud-Projekt löschen, wird die Abrechnung für alle in diesem Projekt verwendeten Ressourcen beendet.
Google Cloud-Projekt löschen:
gcloud projects delete PROJECT_ID