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: Alias- und Versionsbereitstellung in Step Functions
Das folgende Beispiel für die Bereitstellungstechnik von Canary zeigt, wie Sie eine neue State Machine-Version mit dem bereitstellen können AWS Command Line Interface. In diesem Beispiel leitet der Alias, den Sie erstellen, 20 Prozent des Ausführungsverkehrs an die neue Version weiter. Anschließend leitet er die verbleibenden 80 Prozent an die frühere Version weiter. Gehen Sie wie folgt vor, um eine neue State-Machine-Version bereitzustellen und den Ausführungsdatenverkehr mit einem Alias zu verlagern:
-
Veröffentlichen Sie eine Version aus der aktuellen State Machine-Revision.
Verwenden Sie den publish-state-machine-version Befehl in AWS CLI um eine Version der aktuellen Revision einer Zustandsmaschine 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. Beispiel,arn:aws:states:us-east-1:
.123456789012
:stateMachine:myStateMachine
:1 -
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 erstellen
, der auf Version 1 von verweistPROD
:myStateMachine
aws stepfunctions create-state-machine-alias --name PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:
123456789012
:stateMachine:myStateMachine
:1
\",\"weight\":100}]" -
Stellen Sie sicher, dass die mit dem Alias gestarteten Ausführungen die richtige veröffentlichte Version verwenden.
Starten Sie eine neue Ausführung von,
indem Sie den ARN AliasmyStateMachine
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 die Zustandsmaschine ARN in der StartExecutionAnfrage angeben, verwendet sie die neueste Version revision der Zustandsmaschine anstelle der in Ihrem Alias angegebenen Version, um die Ausführung zu starten.
-
Aktualisieren Sie die State-Machine-Definition und veröffentlichen Sie eine neue Version.
Aktualisieren
und veröffentlichen Sie die neue Version. Verwenden Sie dazu den optionalenmyStateMachine
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 --publishDie Antwort gibt das
stateMachineVersionArn
für die neue Version zurück. Beispiel,arn:aws:states:us-east-1:
.123456789012
:stateMachine:myStateMachine
:2 -
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 aktualisieren.
PROD
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}]" -
Ersetzen Sie Version 1 durch Version 2.
Nachdem Sie sich vergewissert haben, dass Ihre neue State-Machine-Version ordnungsgemäß funktioniert, können Sie die neue State-Machine-Version bereitstellen. Aktualisieren Sie dazu den Alias erneut, sodass der neuen Version 100 Prozent des Ausführungsverkehrs zugewiesen werden.
Verwenden Sie den update-state-machine-alias Befehl, um die Routingkonfiguration 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 umgestellt 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 Ihres 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 Blau/Grün-Bereitstellung durchzuführen. Erstellen Sie dazu einen Alias mit dem Namen, auf dem green
die aktuelle Version 1 Ihrer Zustandsmaschine ausgeführt wird. Erstellen Sie dann einen weiteren Alias mit dem Namenblue
, auf dem die neue Version ausgeführt wird,
z. B. Um die neue Version zu testen, senden Sie Ausführungsdatenverkehr an den 2
blue
Alias. Wenn Sie sicher sind, dass Ihre neue Version korrekt funktioniert, aktualisieren Sie den green
Alias so, dass er auf Ihre neue Version verweist.