Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwendung von Terraform zur Bereitstellung von Zustandsmaschinen in Step Functions
Terraform
Wenn Sie mit Terraform vertraut sind, können Sie den in diesem Thema beschriebenen Entwicklungszyklus als Modell für die Erstellung und Bereitstellung Ihrer Zustandsmaschinen in Terraform verfolgen. Wenn Sie mit Terraform nicht vertraut sind, empfehlen wir Ihnen, zunächst den Workshop Einführung in Terraform zu absolvieren, um sich mit Terraform vertraut zu
Tipp
Ein Beispiel für eine mit Terraform erstellte Zustandsmaschine für Sie bereitstellen AWS-Konto, finden Sie im Modul Verwaltung von Zustandsmaschinen
In diesem Thema
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:
-
Installieren Sie Terraform auf Ihrem Computer. Informationen zur Installation von Terraform finden Sie unter Terraform installieren.
-
Installieren Sie Step Functions Local auf Ihrem Computer. Wir empfehlen, das Docker-Image Step Functions Local zu installieren, um Step Functions Local zu verwenden. Weitere Informationen finden Sie unter Lokales Testen von Zustandsmaschinen in Step Functions.
-
Installieren AWS SAM CLI. Informationen zur Installation finden Sie unter Installation von AWS SAM CLI im AWS Serverless Application Model Entwicklerhandbuch.
-
Installieren Sie den AWS Toolkit for Visual Studio Code , um das Workflow-Diagramm Ihrer Zustandsmaschinen anzuzeigen. Informationen zur Installation finden Sie unter Installation von AWS Toolkit for Visual Studio Code im AWS Toolkit for Visual Studio Code Benutzerhandbuch.
Analysieren Sie den Lebenszyklus der Maschinenentwicklung mit Terraform
Das folgende Verfahren erklärt, wie Sie einen State-Machine-Prototyp, den Sie mit Workflow Studio in der Step Functions Functions-Konsole erstellen, als Ausgangspunkt für die lokale Entwicklung mit Terraform und dem verwenden können. AWS Toolkit for Visual Studio Code
Das vollständige Beispiel, in dem die Zustandsmaschine-Entwicklung mit Terraform erörtert und die Best Practices im Detail vorgestellt werden, finden Sie unter Bewährte Methoden für das Schreiben von Step Functions Terraform-Projekten
Um den Entwicklungszyklus einer State Machine mit Terraform zu beginnen
-
Starten Sie ein neues Terraform-Projekt mit dem folgenden Befehl.
terraform init
-
Öffnen Sie die Step Functions Functions-Konsole
, um einen Prototyp für Ihre State Machine zu erstellen. -
Gehen Sie in Workflow Studio wie folgt vor:
-
Erstellen Sie Ihren Workflow-Prototyp.
-
Exportieren Sie die Amazon States Language (ASL) -Definition Ihres Workflows. Wählen Sie dazu die Dropdownliste Import/Export und dann Definition exportieren aus. JSON
-
-
Speichern Sie die exportierte ASL Definition in Ihrem Projektverzeichnis.
Sie übergeben die exportierte ASL Definition als Eingabeparameter an die
aws_sfn_state_machine
Terraform-Ressource, die die Funktion verwendet. templatefile
Diese Funktion wird innerhalb des Definitionsfeldes verwendet, das die exportierte ASL Definition und alle Variablenersetzungen weitergibt. Tipp
Da die ASL Definitionsdatei lange Textblöcke enthalten kann, empfehlen wir, die EOF Inline-Methode zu vermeiden. Dadurch ist es einfacher, Parameter in Ihre Zustandsmaschinen-Definition einzufügen.
-
(Optional) Aktualisieren Sie die ASL Definition in Ihrer IDE und visualisieren Sie Ihre Änderungen mithilfe von AWS Toolkit for Visual Studio Code.
-
Testen Sie Ihren Workflow mit Step Functions Local.
-
Zeigen Sie eine Vorschau Ihrer Zustandsmaschine und anderer AWS Ressourcen an, bevor Sie die Zustandsmaschine bereitstellen. Führen Sie dazu den folgenden Befehl aus.
terraform plan
-
Stellen Sie Ihre Zustandsmaschine mithilfe des folgenden Befehls von Ihrer lokalen Umgebung oder über CI/CD-Pipelines
aus bereit. terraform apply
-
(Optional) Bereinigen Sie Ihre Ressourcen und löschen Sie die Zustandsmaschine mit dem folgenden Befehl.
terraform destroy
IAMRollen und Richtlinien für Ihre Zustandsmaschine
Verwenden Sie die Terraform-Dienstintegrationsrichtlinien
Das folgende IAM Richtlinienbeispiel gewährt Ihrer Zustandsmaschine Zugriff zum Aufrufen einer Lambda-Funktion mit dem Namen. myFunction
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:us-east-1:123456789012:function:
myFunction
" } ] }
Wir empfehlen außerdem, die aws_iam_policy_document
Das folgende IAM Richtlinienbeispiel verwendet die aws_iam_policy_document
Datenquelle und gewährt Ihrer Zustandsmaschine Zugriff, um eine Lambda-Funktion mit dem Namen aufzurufen. myFunction
data "aws_iam_policy_document" "state_machine_role_policy" { statement { effect = "Allow" actions = [ "lambda:InvokeFunction" ] resources = ["${aws_lambda_function.
[[myFunction]]
.arn}:*"] } }
Tipp
Weitere erweiterte AWS Architekturmuster, die mit Terraform bereitgestellt wurden, finden Sie unter Terraform-Beispiele unter Serverless Land Workflows Collection