Configuration de la mémoire d’une fonction Lambda - AWS Lambda

Configuration de la mémoire d’une fonction Lambda

Lambda alloue de la puissance d’UC en fonction de la quantité de mémoire configurée. La mémoire est la quantité de mémoire disponible pour une fonction Lambda lors de l’exécution. Vous pouvez augmenter ou réduire la mémoire et la puissance d’UC allouées à votre fonction à l’aide du paramètre Mémoire. Vous pouvez configurer la mémoire comprise entre 128 et 10 240 Mo, par incréments de 1 Mo. A 1 769 Mo, une fonction dispose de l’équivalent d’1 vCPU (un vCPU-seconde de crédits par seconde).

Cette page explique comment et quand mettre à jour le paramètre de mémoire pour une fonction Lambda.

Évaluation du paramètre de mémoire approprié pour une fonction Lambda

La mémoire est le principal instrument de contrôle de l’exécution d’une fonction. Le réglage par défaut, 128 Mo, est le plus bas possible. Nous vous recommandons de n’utiliser que 128 Mo pour les fonctions Lambda simples, telles que celles qui transforment et acheminent des événements vers d’autres services AWS. Une allocation de mémoire plus élevée peut améliorer les performances pour les fonctions qui utilisent des bibliothèques importées, des couches Lambda, Amazon Simple Storage Service (Amazon S3) ou Amazon Elastic File System (Amazon EFS). L’ajout de mémoire augmente proportionnellement la quantité de processeur, augmentant ainsi la puissance de calcul globale disponible. Si une fonction est liée au processeur, au réseau ou à la mémoire, l’augmentation du paramètre de mémoire peut améliorer considérablement ses performances.

Pour trouver la bonne configuration de mémoire, surveillez vos fonctions avec Amazon CloudWatch et définissez des alarmes si la consommation de mémoire approche les maximums configurés. Cela peut aider à identifier les fonctions liées à la mémoire. Pour les fonctions liées au processeur et aux E/S, le suivi de la durée apporte souvent des informations intéressantes. Dans ces cas, l’augmentation de la mémoire peut aider à résoudre les goulets d’étranglement de calcul ou de réseau.

Vous pouvez également envisager d’utiliser l’outil open source AWS Lambda Power Tuning. Cet outil utilise AWS Step Functions pour exécuter plusieurs versions simultanées d’une fonction Lambda avec différentes allocations de mémoire et de mesurer les performances. La fonction de saisie s’exécute dans votre compte AWS et effectue des appels HTTP en direct et une interaction avec le kit SDK, afin de mesurer les performances probables dans un scénario de production en direct. Vous pouvez également implémenter un processus CI/CD pour utiliser cet outil afin de mesurer automatiquement les performances des nouvelles fonctions que vous déployez.

Configuration de la mémoire d’une fonction (console)

Vous pouvez configurer la mémoire de votre fonction dans la console Lambda.

Pour mettre à jour la mémoire d’une fonction
  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Choisissez une fonction.

  3. Choisissez Configuration, puis Configuration générale.

    L’onglet Configuration de la console Lambda.
  4. Sous Configuration générale, choisissez Modifier.

  5. Pour Mémoire, définissez une valeur comprise entre 128 et 10 240 Mo.

  6. Choisissez Enregistrer.

Configuration de la mémoire d’une fonction (AWS CLI)

Vous pouvez utiliser la commande update-function-configuration pour configurer la mémoire de votre fonction.

aws lambda update-function-configuration \ --function-name my-function \ --memory-size 1024

Configuration de la mémoire d’une fonction (AWS SAM)

Vous pouvez utiliser AWS Serverless Application Model pour configurer la mémoire de votre fonction. Mettez à jour la propriété MemorySize dans votre fichier template.yaml, puis exécutez sam deploy.

Exemple template.yaml
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: An AWS Serverless Application Model template describing your function. Resources: my-function: Type: AWS::Serverless::Function Properties: CodeUri: . Description: '' MemorySize: 1024 # Other function properties...

Acceptation des recommandations relatives à la mémoire d’une fonction (console)

Si vous disposez des autorisations administrateur dans AWS Identity and Access Management (IAM), vous pouvez choisir de recevoir des recommandations relatives au paramétrage de la mémoire d’une fonction LambdaAWS Compute Optimizer. Pour obtenir des instructions sur la manière de choisir de recevoir des recommandations relatives à la mémoire pour votre compte ou votre organisation, consultez Inscription à votre compte dans le Guide de l’utilisateur AWS Compute Optimizer.

Note

Compute Optimizer prend en charge uniquement les fonctions qui utilisent l’architecture x86_64.

Si vous avez choisi cette option et si votre fonction Lambda répond aux exigences de Compute Optimizer, vous pouvez afficher et accepter les recommandations de Compute Optimizer relatives à la mémoire de la fonction dans la console Lambda dans Configuration générale.