Configuration de la simultanéité réservée - 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.

Configuration de la simultanéité réservée

Dans Lambda, la simultanéité est le nombre de demandes en vol que votre fonction traite en même temps. Il existe deux types de contrôles de la simultanéité disponibles :

  • La simultanéité réservée représente le nombre maximum d'instances simultanées allouées à votre fonction. Lorsqu’une fonction dispose de la simultanéité réservée, aucune autre fonction ne peut utiliser cette simultanéité. Il n'y a pas de frais supplémentaires pour la configuration de la simultanéité réservée pour une fonction.

  • La simultanéité provisionnée est le nombre d'environnements d'exécution pré-initialisés alloués à votre fonction. Ces environnements d'exécution sont prêts à répondre immédiatement aux demandes de fonctions entrantes. La configuration de la simultanéité provisionnée entraîne des frais supplémentaires sur votre Compte AWS.

Cette rubrique explique comment gérer et configurer la simultanéité réservée. Pour une présentation conceptuelle de ces deux types de contrôles de simultanéité, consultez Simultanéité réservée et simultanéité provisionnée. Pour plus d’informations sur la configuration de la simultanéité provisionnée, consultez Configuration de la simultanéité provisionnée.

Note

Les fonctions Lambda liées à un mappage des sources d'événements Amazon MQ ont une simultanéité maximale par défaut. Pour Apache Active MQ, le nombre maximum d’instances simultanées est de 5. Pour Rabbit MQ, le nombre maximum d’instances simultanées est de 1. La définition d’une simultanéité réservée ou provisionnée pour votre fonction ne modifie pas ces limites. Pour demander une augmentation de la simultanéité maximale par défaut lors de l’utilisation d’Amazon MQ, contactez AWS Support.

Configuration de la simultanéité réservée

Vous pouvez configurer les paramètres de simultanéité réservés pour une fonction à l’aide de la console Lambda ou de l’API Lambda.

Réserver la simultanéité pour une fonction (console)
  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Sélectionnez la fonction pour laquelle vous souhaitez réserver la simultanéité.

  3. Sélectionnez Configuration, puis Concurrency (Simultanéité).

  4. Sous Concurrency (Simultanéité), choisissez Edit (Modifier).

  5. Choisissez Reserve concurrency (Réserver la simultanéité). Saisissez la quantité de simultanéité à réserver pour la fonction.

  6. Choisissez Enregistrer.

Vous pouvez réserver jusqu’à la valeur de la simultanéité du compte non réservé moins 100. Les 100 unités de simultanéité restantes concernent les fonctions qui n’utilisent pas la simultanéité réservée. Par exemple, si votre compte a une limite de concurrence de 1 000, vous ne pouvez pas réserver les 1 000 unités de concurrence pour une seule fonction.


        Une erreur se produit si vous essayez de réserver une simultanéité trop importante.

Le fait de réserver la simultanéité à une fonction peut avoir des conséquences sur le groupe de simultanéité disponible pour d’autres fonctions. Par exemple, si vous réservez 100 unités de simultanéité pour function-a, les autres fonctions de votre compte doivent partager les 900 unités de simultanéité restantes, même si function-a n’utilisent pas les 100 unités de simultanéité réservées.

Pour limiter intentionnellement une fonction, définissez la simultanéité réservée à zéro. Cela empêche votre fonction de traiter des événements jusqu’à ce que vous supprimiez la limite.

Pour configurer la simultanéité réservée avec l’API Lambda, utilisez les opérations d’API suivantes.

Par exemple, pour configurer la simultanéité réservée avec la AWS Command Line Interface (CLI), utilisez la commande put-function-concurrency. La commande suivante réserve 100 unités de simultanéité pour une fonction nommée my-function :

aws lambda put-function-concurrency --function-name my-function \ --reserved-concurrent-executions 100

Vous devriez voir une sortie semblable à la suivante :

{ "ReservedConcurrentExecutions": 100 }

Configuration de la simultanéité avec l’API Lambda

Si votre fonction gère actuellement du trafic, vous pouvez facilement consulter ses indicateurs de simultanéité à l'aide de CloudWatch métriques. Plus précisément, la métrique ConcurrentExecutions vous montre le nombre d’invocations simultanées pour chaque fonction de votre compte.


        Graphique montrant la simultanéité pour une fonction au fil du temps.

Le graphique précédent indique que cette fonction répond à une moyenne de 5 à 10 demandes simultanées à tout moment, et qu’elle atteint un pic de 20 demandes lors d’une journée typique. Supposons qu’il y ait beaucoup d’autres fonctions dans votre compte. Si cette fonction est essentielle à votre application et que vous ne voulez pas perdre de demandes, utilisez un nombre supérieur ou égal à 20 comme paramètre de simultanéité réservé.

Par ailleurs, rappelez-vous que vous pouvez également calculer la simultanéité à l’aide de la formule suivante :

Concurrency = (average requests per second) * (average request duration in seconds)

En multipliant le nombre moyen de demandes par seconde par la durée moyenne des demandes en secondes, vous obtenez une estimation approximative du niveau de simultanéité que vous devez réserver. Vous pouvez estimer les demandes moyennes par seconde à l’aide de la métrique Invocation, et la durée moyenne des demandes en secondes à l’aide de la métrique Duration. Pour plus d’informations, consultez Utilisation des métriques de fonction Lambda.