Beispiel für die Bereitstellung von Alias und Versionen - 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.

Beispiel für die Bereitstellung von Alias und Versionen

Das folgende Beispiel für die Canary-Bereitstellungstechnik zeigt, wie Sie eine neue State-Machine-Version mit dem bereitstellen könnenAWS Command Line Interface. In diesem Beispiel leitet der von Ihnen erstellte Alias 20 Prozent des Ausführungsverkehrs an die neue Version weiter. Anschließend werden die verbleibenden 80 Prozent der früheren Version weitergeleitet. Gehen Sie wie folgt vor, um eine neue State-Machine-Version bereitzustellen und den Ausführungsverkehr mit einem Alias zu verlagern:

  1. Veröffentlichen Sie eine Version der aktuellen State-Maschinenversion.

    Verwenden Sie den publish-state-machine-version Befehl in derAWS CLI, um eine Version aus der aktuellen Version einer State-Maschine mit dem Namen zu veröffentlichen myStateMachine:

    aws stepfunctions publish-state-machine-version --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine

    Die Antwort gibt die stateMachineVersionArn Version zurück, die Sie veröffentlicht haben. Zum Beispiel arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1.

  2. Erstellen Sie einen Alias, der auf die State-Machine-Version verweist.

    Verwenden Sie den create-state-machine-alias Befehl, um einen Alias mit dem Namen zu erstellenPROD, der auf Version 1 verweist vonmyStateMachine:

    aws stepfunctions create-state-machine-alias --name PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1\",\"weight\":100}]"
  3. Stellen Sie sicher, dass die vom Alias gestarteten Ausführungen die richtige veröffentlichte Version verwenden.

    Starten Sie eine neue Ausführung von, myStateMachine indem Sie den ARN des Alias PROD im start-execution Befehl angeben:

    aws stepfunctions start-execution --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachineAlias:myStateMachine:PROD --input "{}"

    Wenn Sie den State-Machine-ARN in der StartExecutionAnfrage angeben, verwendet diese die neueste Version revision der State Machine anstelle der in Ihrem Alias angegebenen Version, um die Ausführung zu starten.

  4. Aktualisieren Sie die State-Machine-Definition und veröffentlichen Sie eine neue Version.

    Aktualisiere myStateMachine und veröffentliche die neue Version. Verwenden Sie dazu den optionalen publish Parameter des update-state-machine Befehls:

    aws stepfunctions update-state-machine --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine --definition $UPDATED_STATE_MACHINE_DEFINITION --publish

    Die Antwort gibt den stateMachineVersionArn für die neue Version zurück. Zum Beispiel arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:2.

  5. Aktualisieren Sie den Alias so, dass er auf beide Versionen verweist, und legen Sie die Routing-Konfiguration des Alias fest.

    Verwenden Sie den update-state-machine-alias Befehl, um die Routing-Konfiguration des Alias zu aktualisierenPROD. Konfigurieren Sie den Alias so, dass 80 Prozent des Ausführungsdatenverkehrs an Version 1 und die restlichen 20 Prozent an Version 2 gehen:

    aws stepfunctions update-state-machine-alias --state-machine-alias-arn arn:aws:states:us-east-1:123456789012:stateMachineAlias:myStateMachine:PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1\",\"weight\":80}, {\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:2\",\"weight\":20}]"
  6. Ersetzen Sie Version 1 durch Version 2.

    Nachdem Sie überprüft haben, dass Ihre neue State-Machine-Version ordnungsgemäß funktioniert, können Sie die neue State-Machine-Version bereitstellen. Aktualisieren Sie dazu den Alias erneut, um der neuen Version 100 Prozent des Ausführungsverkehrs zuzuweisen.

    Verwenden Sie den update-state-machine-alias Befehl, um die Routing-Konfiguration des Alias für Version 2 PROD auf 100 Prozent festzulegen:

    aws stepfunctions update-state-machine-alias --state-machine-alias-arn arn:aws:states:us-east-1:123456789012:stateMachineAlias:myStateMachine:PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:2\",\"weight\":100}]"
Tipp

Um die Bereitstellung von Version 2 rückgängig zu machen, bearbeiten Sie die Routing-Konfiguration des Alias so, dass 100 Prozent des Datenverkehrs auf die neu bereitgestellte Version umgeleitet werden.

aws stepfunctions update-state-machine-alias --state-machine-alias-arn arn:aws:states:us-east-1:123456789012:stateMachineAlias:myStateMachine:PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1\",\"weight\":100}]"

Sie können Versionen und Aliase verwenden, um andere Arten von Bereitstellungen durchzuführen. Sie können beispielsweise eine fortlaufende Bereitstellung einer neuen Version Ihrer State Machine durchführen. Erhöhen Sie dazu schrittweise den gewichteten Prozentsatz in der Routing-Konfiguration des Alias, der auf die neue Version verweist.

Sie können auch Versionen und Aliase verwenden, um eine blaue/grüne Bereitstellung durchzuführen. Erstellen Sie dazu einen Alias mit dem Namengreen, auf dem die aktuelle Version 1 Ihres State-Computers ausgeführt wird. Erstellen Sie dann einen weiteren Alias mit dem Namenblue, auf dem die neue Version ausgeführt wird, 2 z. B. Um die neue Version zu testen, senden Sie Ausführungsverkehr an den blue Alias. Wenn Sie sicher sind, dass Ihre neue Version ordnungsgemäß funktioniert, aktualisieren Sie den green Alias so, dass er auf Ihre neue Version verweist.