View a markdown version of this page

Configurer les fonctions durables de 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.

Configurer les fonctions durables de Lambda

Les paramètres d'exécution durables contrôlent la durée d'exécution de votre AWS Lambda fonction, la durée pendant laquelle le service conserve l'historique des exécutions et la AWS KMS clé qui chiffre vos données d'exécution. Configurez ces paramètres pour permettre une exécution durable de votre fonction.

Permettre une exécution durable

Configurez l'DurableConfigobjet lors de la création de votre fonction pour définir le délai d'exécution et la conservation de l'historique. Vous ne pouvez activer l'exécution durable que lors de la création d'une fonction. Vous ne pouvez pas l'activer sur les fonctions existantes.

AWS CLI
aws lambda create-function \ --function-name my-durable-function \ --runtime nodejs24.x \ --role arn:aws:iam::123456789012:role/my-durable-role \ --handler index.handler \ --zip-file fileb://function.zip \ --durable-config '{"ExecutionTimeout": 3600, "RetentionPeriodInDays": 30, "KMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/key-id"}'
CloudFormation
Resources: MyDurableFunction: Type: AWS::Lambda::Function Properties: FunctionName: my-durable-function Runtime: nodejs24.x Handler: index.handler Code: ZipFile: | // Your durable function code DurableConfig: ExecutionTimeout: 3600 RetentionPeriodInDays: 30 KMSKeyArn: "arn:aws:kms:us-east-1:111122223333:key/key-id"

Paramètres de configuration :

  • ExecutionTimeout— Durée maximale en secondes pendant laquelle une exécution durable peut être exécutée avant que Lambda n'arrête l'exécution. Ce délai s'applique à l'ensemble de l'exécution durable, et non aux invocations de fonctions individuelles. Plage valide : 1—31622400.

  • RetentionPeriodInDays— Le nombre de jours nécessaires pour conserver l'historique des exécutions après la fin d'une exécution durable. Après cette période, l'historique des exécutions n'est plus disponible via l'GetDurableExecutionHistoryAPI. Plage valide : 1 à 90.

  • KMSKeyArn : facultatif. L'ARN d'une clé gérée par le client pour chiffrer les données d'exécution durables. Pour plus d'informations, consultez la section Chiffrement des données d'exécution durables de Lambda.

Pour la référence complète de l'API, voir la référence DurableConfigde l'API Lambda.

Bonnes pratiques en matière de configuration

Suivez les meilleures pratiques suivantes lors de la configuration de fonctions durables pour une utilisation en production :

  • Définissez des délais d'exécution appropriés : configurez ExecutionTimeout en fonction de la durée maximale prévue de votre flux de travail. Ne fixez pas de délais d'attente inutilement longs, car ils ont une incidence sur les coûts et l'allocation des ressources.

  • Équilibrez la rétention avec les coûts de stockage : définissez les RetentionPeriodInDays paramètres en fonction de vos exigences en matière de débogage et d'audit. Des périodes de conservation plus longues augmentent les coûts de stockage.

  • Taille de l'état du moniteur : les objets à état volumineux augmentent les coûts de stockage et peuvent avoir un impact sur les performances. Maintenez l'état minimal et utilisez un stockage externe pour les données volumineuses.

  • Configurer une journalisation appropriée : activez la journalisation détaillée pour résoudre les problèmes liés aux flux de travail de longue durée, mais tenez compte de l'impact sur le volume des journaux et les coûts.

  • Chiffrez avec votre propre AWS KMS clé : utilisez une clé gérée par le client pour contrôler la rotation des clés, auditer l'accès et répondre aux exigences de conformité. KMSKeyArn Consultez Chiffrement AWS Lambda données d'exécution durables.

Exemple de configuration de production :

{ "ExecutionTimeout": 86400, "RetentionPeriodInDays": 7, "KMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/key-id" }

Cet exemple définit un délai d'exécution de 24 heures (86 400 secondes), une période de rétention de 7 jours et une clé de chiffrement gérée par le client.