Création d'une configuration de routage pour un alias Lambda - AWS Lambda

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.

Création d'une configuration de routage pour un alias Lambda

Utilisez une configuration de routage sur un alias pour envoyer une partie du trafic vers une deuxième version de fonction. Par exemple, vous pouvez réduire le risque de déploiement d'une nouvelle version en configurant l'alias de sorte qu’il envoie la majeure partie du trafic vers la version existante, et seulement un faible pourcentage du trafic vers la nouvelle version.

Lambda utilise un modèle probabiliste simple pour distribuer le trafic entre les deux versions de la fonction. Quand le niveau de trafic est faible, il se peut que vous observiez une variance élevée entre les pourcentages de trafic configuré et réel sur chaque version. Si votre fonction utilise une simultanéité approvisionnée, vous pouvez éviter des appels de débordement en configurant un plus grand nombre d'instances de simultanéité approvisionnées pendant que le routage d'alias est actif.

Vous pouvez faire pointer un alias vers au maximum deux versions de fonction Lambda. Les versions doivent répondre aux critères suivants :

  • Les deux versions doivent avoir le même rôle d'exécution.

  • Les deux versions doivent avoir la même configuration de file d'attente de lettres mortes ou aucune configuration de file d'attente de lettres mortes.

  • Les deux versions doivent être publiées. L'alias ne peut pas pointer vers $LATEST.

Console
Pour configurer le routage sur un alias à l'aide de la console
Note

Vérifiez que la fonction a au moins deux versions publiées. Pour créer des versions supplémentaires, suivez les instructions de la section Gérer les versions des fonctions Lambda.

  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Choisissez une fonction.

  3. Sélectionnez Alias, puis Create alias (Créer un alias).

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

    1. Renseignez le champ Name (Nom) pour l'alias.

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

    3. Pour Version, choisissez la première version de fonction vers laquelle vous souhaitez que l'alias pointe.

    4. Développez Weighted alias (Alias pondéré).

    5. Pour Additional version (Version supplémentaire), choisissez la deuxième version de fonction vers laquelle vous souhaitez que l'alias pointe.

    6. Pour Weight (%) (Pondération (%)), entrez une valeur de pondération pour la fonction. La pondération est le pourcentage de trafic qui est affecté à cette version lorsque l'alias est appelé. La première version reçoit le reste du trafic. Par exemple, si vous spécifiez 10 % pour Additional version (Version supplémentaire), 90 % du trafic est automatiquement affecté à la première version.

    7. Choisissez Save (Enregistrer).

AWS CLI

Utilisez les AWS CLI commandes create-alias et update-alias pour configurer les pondérations du trafic entre deux versions de fonction. Lorsque vous créez ou mettez à jour l'alias, vous spécifiez la pondération du trafic dans le paramètre routing-config.

L'exemple suivant crée un alias de fonction Lambda nommé routing-alias qui pointe vers la version 1 de la fonction. La version 2 de la fonction reçoit 3 % du trafic. Les 97 % restants du trafic sont acheminés vers la version 1.

aws lambda create-alias \ --name routing-alias \ --function-name my-function \ --function-version 1 \ --routing-config AdditionalVersionWeights={"2"=0.03}

Utilisez la commande update-alias pour augmenter le pourcentage de trafic entrant vers la version 2. Dans l'exemple suivant, vous augmentez le trafic à 5 %.

aws lambda update-alias \ --name routing-alias \ --function-name my-function \ --routing-config AdditionalVersionWeights={"2"=0.05}

Pour acheminer l'ensemble du trafic vers la version 2, utilisez la commande update-alias pour modifier la propriété function-version afin que l'alias pointe vers la version 2. La commande réinitialise également la configuration de routage.

aws lambda update-alias \ --name routing-alias \ --function-name my-function \ --function-version 2 \ --routing-config AdditionalVersionWeights={}

Les AWS CLI commandes des étapes précédentes correspondent aux opérations Lambda API suivantes :

Déterminer quelle version a été invoquée

Lorsque vous configurez des pondérations de trafic entre deux versions de fonction, vous pouvez déterminer la version de fonction Lambda appelée de deux manières :

  • CloudWatch Journaux : Lambda envoie automatiquement une entrée de START journal contenant l'ID de version invoqué à Amazon CloudWatch Logs pour chaque appel de fonction. Voici un exemple :

    19:44:37 START RequestId: request id Version: $version

    Pour les appels d'alias, Lambda utilise la dimension Executed Version pour filtrer les métriques en fonction de la version appelée. Pour de plus amples informations, veuillez consulter Afficher les métriques des fonctions Lambda.

  • Charge utile de réponse (appels synchrones) – Les réponses aux appels de fonction synchrones incluent un en-tête x-amz-executed-version indiquant la version de fonction appelée.