Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Verwendung von Terraform zur Bereitstellung von Zustandsmaschinen in Step Functions

Fokusmodus
Verwendung von Terraform zur Bereitstellung von Zustandsmaschinen in Step Functions - AWS Step Functions

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.

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.

Terraform by HashiCorp ist ein Framework für die Erstellung von Anwendungen unter Verwendung von Infrastructure as Code (IaC). Mit Terraform können Sie Zustandsmaschinen erstellen und Funktionen wie die Vorschau von Infrastrukturbereitstellungen und die Erstellung wiederverwendbarer Vorlagen verwenden. Terraform-Vorlagen helfen Ihnen dabei, den Code zu verwalten und wiederzuverwenden, indem sie ihn in kleinere Abschnitte aufteilen.

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 machen. AWS

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:

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
  1. Starten Sie ein neues Terraform-Projekt mit dem folgenden Befehl.

    terraform init
  2. Öffnen Sie die Step Functions Functions-Konsole, um einen Prototyp für Ihre State Machine zu erstellen.

  3. Gehen Sie in Workflow Studio wie folgt vor:

    1. Erstellen Sie Ihren Workflow-Prototyp.

    2. Exportieren Sie die Amazon States Language (ASL) -Definition Ihres Workflows. Wählen Sie dazu die Dropdownliste Import/Export und dann JSON-Definition exportieren aus.

  4. Speichern Sie die exportierte ASL-Definition in Ihrem Projektverzeichnis.

    Sie übergeben die exportierte ASL-Definition als Eingabeparameter an die aws_sfn_state_machineTerraform-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 Inline-EOF-Methode zu vermeiden. Dadurch ist es einfacher, Parameter in Ihre Zustandsmaschinen-Definition einzufügen.

  5. (Optional) Aktualisieren Sie die ASL-Definition in Ihrer IDE und visualisieren Sie Ihre Änderungen mithilfe von. AWS Toolkit for Visual Studio Code

    Screenshot der ASL-Definition eines Workflows in Visual Studio Code und seiner visuellen Darstellung.

    Um zu vermeiden, dass Sie Ihre Definition ständig exportieren und in Ihr Projekt umgestalten, empfehlen wir Ihnen, Aktualisierungen lokal in Ihrer IDE vorzunehmen und diese Aktualisierungen mit Git zu verfolgen.

  6. Testen Sie Ihren Workflow mit Step Functions Local.

    Tipp

    Mithilfe von AWS SAM CLI Local können Sie Serviceintegrationen mit Lambda-Funktionen und API Gateway auch lokal APIs in Ihrer Zustandsmaschine testen.

  7. 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
  8. Stellen Sie Ihre Zustandsmaschine mithilfe des folgenden Befehls von Ihrer lokalen Umgebung oder über CI/CD-Pipelines aus bereit.

    terraform apply
  9. (Optional) Bereinigen Sie Ihre Ressourcen und löschen Sie die Zustandsmaschine mit dem folgenden Befehl.

    terraform destroy

IAM-Rollen und -Richtlinien für Ihren State Machine

Verwenden Sie die Terraform-Dienstintegrationsrichtlinien, um Ihrer Zustandsmaschine die erforderlichen IAM-Berechtigungen hinzuzufügen, z. B. die Berechtigung zum Aufrufen von Lambda-Funktionen. Sie können auch explizite Rollen und Richtlinien definieren und diese Ihrer Zustandsmaschine zuordnen.

Das folgende Beispiel für eine IAM-Richtlinie gewährt Ihrer Zustandsmaschine Zugriff, um eine Lambda-Funktion mit dem Namen aufzurufen. 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_documentDatenquelle bei der Definition von IAM-Richtlinien für Ihre Zustandsmaschinen in Terraform zu verwenden. Auf diese Weise können Sie überprüfen, ob Ihre Richtlinie falsch formatiert ist, und alle Ressourcen durch Variablen ersetzen.

Das folgende Beispiel für eine IAM-Richtlinie 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.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.