Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Exemple : déploiement d'alias et de versions dans Step Functions

Mode de mise au point
Exemple : déploiement d'alias et de versions dans Step Functions - AWS Step Functions

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

L'exemple suivant de la technique de déploiement de Canary montre comment déployer une nouvelle version de State Machine avec le AWS Command Line Interface. Dans cet exemple, l'alias que vous créez achemine 20 % du trafic d'exécution vers la nouvelle version. Il achemine ensuite les 80 % restants vers la version précédente. Pour déployer une nouvelle version de State Machine et transférer le trafic d'exécution à l'aide d'un alias, procédez comme suit :

  1. Publiez une version à partir de la révision actuelle de la machine à états.

    Utilisez la publish-state-machine-version commande du AWS CLI pour publier une version à partir de la révision actuelle d'une machine à états appelée myStateMachine:

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

    La réponse renvoie stateMachineVersionArn la version que vous avez publiée. Par exemple, arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1.

  2. Créez un alias qui pointe vers la version de la machine à états.

    Utilisez la create-state-machine-alias commande pour créer un alias nommé PROD qui pointe vers la version 1 de myStateMachine :

    aws stepfunctions create-state-machine-alias --name PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1\",\"weight\":100}]"
  3. Vérifiez que les exécutions lancées par l'alias utilisent la version publiée correcte.

    Démarrez une nouvelle exécution de myStateMachine en fournissant l'ARN de l'alias PROD dans la start-execution commande :

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

    Si vous fournissez l'ARN de la machine à états dans la StartExecutiondemande, celle-ci utilise la version la plus récente revision de la machine à états au lieu de la version spécifiée dans votre alias pour démarrer l'exécution.

  4. Mettez à jour la définition de la machine à états et publiez une nouvelle version.

    Mettre à jour myStateMachine et publier sa nouvelle version. Pour cela, utilisez le publish paramètre optionnel de la update-state-machine commande :

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

    La réponse renvoie le stateMachineVersionArn pour la nouvelle version. Par exemple, arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:2.

  5. Mettez à jour l'alias pour qu'il pointe vers les deux versions et définissez la configuration de routage de l'alias.

    Utilisez la update-state-machine-alias commande pour mettre à jour la configuration de routage de l'aliasPROD. Configurez l'alias de manière à ce que 80 % du trafic d'exécution passe à la version 1 et les 20 % restants à la version 2 :

    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. Remplacez la version 1 par la version 2.

    Après avoir vérifié que votre nouvelle version de machine d'état fonctionne correctement, vous pouvez déployer la nouvelle version de machine d'état. Pour ce faire, mettez à jour à nouveau l'alias pour affecter 100 % du trafic d'exécution à la nouvelle version.

    Utilisez la update-state-machine-alias commande pour définir la configuration de routage de l'alias PROD sur 100 % pour la version 2 :

    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}]"
Astuce

Pour annuler le déploiement de la version 2, modifiez la configuration de routage de l'alias afin de transférer 100 % du trafic vers la version nouvellement déployée.

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}]"

Vous pouvez utiliser des versions et des alias pour effectuer d'autres types de déploiements. Par exemple, vous pouvez effectuer un déploiement progressif d'une nouvelle version de votre machine d'état. Pour ce faire, augmentez progressivement le pourcentage pondéré dans la configuration de routage de l'alias qui pointe vers la nouvelle version.

Vous pouvez également utiliser des versions et des alias pour effectuer un déploiement bleu/vert. Pour ce faire, créez un alias nommé green qui exécute la version 1 actuelle de votre machine d'état. Créez ensuite un autre alias nommé blue qui exécute la nouvelle version, par exemple,2. Pour tester la nouvelle version, envoyez le trafic d'exécution à l'bluealias. Lorsque vous êtes certain que votre nouvelle version fonctionne correctement, mettez à jour l'greenalias pour qu'il pointe vers votre nouvelle version.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.