Alias de machine à états dans les flux de travail 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.

Alias de machine à états dans les flux de travail Step Functions

Un alias est un pointeur vers deux versions au maximum d'une même machine à états. Vous pouvez créer plusieurs alias pour vos machines d'état. Chaque alias possède un nom de ressource Amazon unique (ARN). L'alias ARN est une combinaison du nom de la machine à états ARN et du nom d'alias, séparés par deux points (:). L'exemple suivant montre le format d'un alias de machine à étatsARN.

arn:partition:states:region:account-id:stateMachine:myStateMachine:aliasName

Vous pouvez utiliser un alias pour acheminer le trafic entre l'une des deux versions de machine à états. Vous pouvez également créer un alias pointant vers une version unique. Les alias ne peuvent pointer que vers les versions des machines à états. Vous ne pouvez pas utiliser un alias pour pointer vers un autre alias. Vous pouvez également mettre à jour un alias pour qu'il pointe vers une autre version de la machine à états.

Schéma illustrant un alias envoyant 80 % des demandes à la version 1 et 20 % à la version 2.

Création d'un alias de machine à états (console)

Vous pouvez créer jusqu'à 100 alias pour chaque machine à états en utilisant la console Step Functions ou en appelant l'CreateStateMachineAliasAPIaction. Pour demander une augmentation de cette limite souple, utilisez la page Support Center du AWS Management Console. Supprimez les alias non utilisés de la console ou en invoquant l'DeleteStateMachineAliasAPIaction.

Pour créer un alias de machine à états
  1. Ouvrez la console Step Functions, puis choisissez une machine à états existante.

  2. Sur la page détaillée de State machine, choisissez l'onglet Alias.

  3. Choisissez Créer un nouvel alias.

  4. Sur la page Create alias (Créer un alias), procédez de la manière suivante :

    1. Entrez un nom d'alias.

    2. (Facultatif) Renseignez le champ Description de l'alias.

  5. Pour configurer le routage sur l'alias, consultez la section Configuration du routage de l'alias.

  6. Choisissez Créer un alias.

Gestion des alias avec les opérations Step Functions API

Step Functions propose les API opérations suivantes que vous pouvez utiliser pour créer et gérer des alias de machine à états ou pour obtenir des informations sur les alias :

Pour créer un alias nommé PROD pointant vers la version 1 d'une machine à états nommée à myStateMachine l'aide du AWS Command Line Interface, utilisez la create-state-machine-alias commande.

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

Configuration du routage d’alias

Vous pouvez utiliser un alias pour acheminer le trafic d'exécution entre deux versions d'une machine à états. Supposons, par exemple, que vous souhaitiez lancer une nouvelle version de votre machine d'état. Vous pouvez réduire les risques liés au déploiement de la nouvelle version en configurant le routage sur un alias. En configurant le routage, vous pouvez envoyer la majeure partie de votre trafic vers une version antérieure et testée de votre machine à états. La nouvelle version peut alors recevoir un pourcentage inférieur, jusqu'à ce que vous puissiez confirmer que vous pouvez la transférer en toute sécurité.

Pour définir la configuration du routage, assurez-vous de publier les deux versions de machine à états vers lesquelles pointe votre alias. Lorsque vous lancez une exécution à partir d'un alias, Step Functions choisit aléatoirement la version de la machine d'état à exécuter parmi les versions spécifiées dans la configuration de routage. Il base ce choix sur le pourcentage de trafic que vous attribuez à chaque version dans la configuration de routage des alias.

Pour configurer la configuration du routage sur un alias
  • Sur la page Créer un alias, sous Configuration du routage, procédez comme suit :

    1. Pour Version, choisissez la première version de machine à états vers laquelle pointe l'alias.

    2. Cochez la case Répartir le trafic entre deux versions.

      Astuce

      Pour pointer vers une seule version, décochez la case Répartir le trafic entre deux versions.

    3. Dans Version, choisissez la deuxième version vers laquelle l'alias doit pointer.

    4. Dans les champs Pourcentage de trafic, spécifiez le pourcentage de trafic à acheminer vers chaque version. Par exemple, entrez 60 et 40 acheminez 60 % du trafic d'exécution vers la première version et 40 % du trafic vers la deuxième version.

      Les pourcentages de trafic combinés doivent être égaux à 100 %.

Exécution d'une machine à états à l'aide d'un alias (console)

Vous pouvez démarrer des exécutions de machines à états avec un alias depuis la console ou en invoquant l'StartExecutionAPIaction avec les aliasARN. Step Functions exécute ensuite la version spécifiée par l'alias. Par défaut, si vous ne spécifiez pas de version ou d'alias lorsque vous lancez une exécution par State Machine, Step Functions utilise la version la plus récente.

Pour démarrer l'exécution d'une machine à états à l'aide d'un alias
  1. Ouvrez la console Step Functions, puis choisissez une machine à états existante pour laquelle vous avez créé un alias. Pour plus d'informations sur la création d'un alias, consultezCréation d'un alias de machine à états (console).

  2. Sur la page détaillée de State machine, choisissez l'onglet Alias.

  3. Dans la section Alias, procédez comme suit :

    1. Sélectionnez l'alias avec lequel vous souhaitez démarrer l'exécution.

    2. Choisissez Start execution (Démarrer l'exécution).

  4. (Facultatif) Dans la boîte de dialogue Démarrer l'exécution, entrez le nom de l'exécution.

  5. Si nécessaire, entrez l'entrée d'exécution, puis choisissez Démarrer l'exécution.