Environnements d’exécution (runtimes) 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.

Environnements d’exécution (runtimes) Lambda

Lambda prend en charge plusieurs langages via l’utilisation d’environnements d’exécution. Une exécution fournit un environnement spécifique au langage qui relaie les événements d’invocation, les informations de contexte et les réponses entre Lambda et la fonction. Vous pouvez utiliser les runtimes que Lambda fournit, ou créer vos propres runtimes.

Chaque version majeure du langage de programmation possède un environnement d’exécution distinct, avec un identifiant de l’environnement d’exécution unique, tel que nodejs22.x ou python3.13. Pour configurer une fonction afin d’utiliser une nouvelle version majeure du langage, vous devez modifier l’identifiant d’exécution. Comme il AWS Lambda n'est pas possible de garantir la rétrocompatibilité entre les versions principales, il s'agit d'une opération pilotée par le client.

Pour une fonction définie en tant qu’image de conteneur, vous choisissez une exécution et la distribution Linux lorsque vous créez l’image de conteneur. Pour modifier l’environnement d’exécution, vous créez une image de conteneur.

Lorsque vous utilisez une archive de fichiers .zip pour le package de déploiement, vous choisissez un environnement d’exécution lorsque vous créez la fonction. Pour modifier l’environnement d’exécution, vous pouvez mettre à jour la configuration de votre fonction. L’environnement d’exécution est associé à l’une des distributions Amazon Linux. L’environnement d’exécution sous-jacent fournit des bibliothèques et des variables d’environnement supplémentaires auxquelles vous pouvez accéder depuis le code de votre fonction.

Lambda invoque votre fonction dans un environnement d’exécution. L’environnement d’exécution fournit un environnement d’environnement d’exécution sécurisé et isolé qui gère les ressources nécessaires à l’exécution de votre fonction. Lambda réutilise l’environnement d’exécution à partir d’une invocation antérieure dans le cas où il y en a un disponible, ou il peut en créer un nouveau.

Pour utiliser d'autres langages dans Lambda, tels que Go ou Rust, utilisez un environnement d'exécution uniquement pour le système d'exploitation. L’environnement d’exécution de Lambda fournit une interface d’environnement d’exécution pour obtenir des événements d’invocations et envoyer des réponses. Vous pouvez déployer les autres langages en implémentant un environnement d’exécution en association avec le code de votre fonction, ou dans une couche.

Environnements d'exécution pris en charge

Le tableau suivant répertorie les durées d'exécution Lambda prises en charge et les dates d'obsolescence prévues. Une fois qu'un environnement d'exécution est obsolète, vous pouvez toujours créer et mettre à jour des fonctions pendant une période limitée. Pour de plus amples informations, veuillez consulter Environnement d’exécution utilisé après la date d’obsolescence. Le tableau fournit les dates actuellement prévues pour la dépréciation de l'exécution. Ces dates sont fournies à des fins de planification et sont susceptibles d'être modifiées.

Nom Identifiant Système d’exploitation Date d’obsolescence Créer la fonction de blocage Mettre à jour la fonction de blocage

Node.js 22

nodejs22.x

Amazon Linux 2023

30 avril 2027

1 juin 2027

1 juillet 2027

Node.js 20

nodejs20.x

Amazon Linux 2023

30 avril 2026

1 juin 2026

1 juillet 2026

Node.js 18

nodejs18.x

Amazon Linux 2

1e septembre 2025

1e octobre 2025

1 novembre 2025

Python 3.13

python3.13

Amazon Linux 2023

30 juin 2029

31 juillet 2029

31 août 2029

Python 3.12

python3.12

Amazon Linux 2023

31 octobre 2028

30 novembre 2028

10 janvier 2029

Python 3.11

python3.11

Amazon Linux 2

30 juin 2026

31 juillet 2026

31 août 2026

Python 3.10

python3.10

Amazon Linux 2

30 juin 2026

31 juillet 2026

31 août 2026

Python 3.9

python3.9

Amazon Linux 2

3 novembre 2025

8 déc. 2025

8 janvier 2026

Java 21

java21

Amazon Linux 2023

30 juin 2029

31 juillet 2029

31 août 2029

Java 17

java17

Amazon Linux 2

30 juin 2026

31 juillet 2026

31 août 2026

Java 11

java11

Amazon Linux 2

30 juin 2026

31 juillet 2026

31 août 2026

Java 8

java8.al2

Amazon Linux 2

30 juin 2026

31 juillet 2026

31 août 2026

.NET 8

dotnet8

Amazon Linux 2023

10 novembre 2026

10 déc. 2026

11 janvier 2027

Ruby 3.3

ruby3.3

Amazon Linux 2023

31 mars 2027

30 avril 2027

31 mai 2027

Ruby 3.2

ruby3.2

Amazon Linux 2

31 mars 2026

30 avril 2026

31 mai 2026

Exécution réservée au système d’exploitation

provided.al2023

Amazon Linux 2023

30 juin 2029

31 juillet 2029

31 août 2029

Exécution réservée au système d’exploitation

provided.al2

Amazon Linux 2

30 juin 2026

31 juillet 2026

31 août 2026

Note

Pour les nouvelles régions, Lambda ne prendra pas en charge les environnements d'exécution qui devraient devenir obsolètes dans les six prochains mois.

Lambda tient à jour les environnements d’exécution gérés et de leurs images de conteneur correspondantes à jour grâce à des correctifs et à la prise en charge des versions mineures. Pour plus d'informations, consultez Mises à jour de l'exécution Lambda.

Pour interagir par programmation avec d'autres ressources Services AWS de votre fonction Lambda, vous pouvez utiliser l'un des. AWS SDKs Les environnements d'exécution Node.js, Python et Ruby incluent une version du AWS SDK. Toutefois, pour conserver le contrôle total de vos dépendances et optimiser la rétrocompatibilité lors des mises à jour automatiques de l'exécution, nous vous recommandons de toujours inclure les modules SDK utilisés par votre code (ainsi que les dépendances éventuelles) dans le package de déploiement de votre fonction ou dans une couche Lambda.

Nous vous recommandons d'utiliser la version du SDK incluant l'environnement d'exécution uniquement lorsque vous ne pouvez pas inclure de packages supplémentaires dans votre déploiement. Par exemple, lorsque vous créez votre fonction à l'aide de l'éditeur de code de la console Lambda ou à l'aide du code de fonction intégré dans un modèle. AWS CloudFormation

Lambda met régulièrement à jour les versions AWS SDKs incluses dans les environnements d'exécution Node.js, Python et Ruby. Pour déterminer la version du AWS SDK incluse dans le moteur d'exécution que vous utilisez, consultez les sections suivantes :

Lambda continue de prendre en charge le langage de programmation Go après l’obsolescence de l’environnement d’exécution Go 1.x. Pour plus d'informations, consultez la section Migration des AWS Lambda fonctions de l'environnement d'exécution Go1.x vers le runtime personnalisé sur Amazon Linux 2 sur le AWS blog Compute.

Tous les environnements d’exécution Lambda pris en charge supportent les architectures x86_64 et arm64.

Nouvelles versions d'exécution

Lambda fournit des environnements d’exécution gérés pour les nouvelles versions de langage uniquement lorsque la version atteint la phase LTS (support à long terme) du cycle de distribution du langage. Par exemple, pour le cycle de distribution de Node.js, lorsque la version atteint la phase Active LTS.

Avant que la version n'atteigne la phase de support à long terme, elle reste en développement et peut encore faire l'objet de modifications majeures. Lambda applique automatiquement les mises à jour d’environnements d'exécution par défaut, de sorte que l'interruption des modifications apportées à une version d’environnement d'exécution peut empêcher vos fonctions de fonctionner comme prévu.

Lambda ne fournit pas d'environnements d'exécution gérés pour les versions linguistiques dont la sortie du LTS n'est pas prévue.

La liste suivante montre le mois de lancement cible pour les environnements d’exécution Lambda à venir. Ces dates ne sont données qu’à titre indicatif et sont susceptibles d’être modifiées.

  • Ruby 3.4 : mars 2025

  • Java 25 : octobre 2025

  • Python 3.14 : novembre 2025

  • Node.js 24 : novembre 2025

  • .NET 10 : décembre 2025

politique d’obsolescence de l’exécution

Les environnements d'exécution Lambda pour les archives de fichiers .zip sont conçus autour d'une combinaison de systèmes d'exploitation, de langages de programmation et de bibliothèques de logiciels soumis à des mises à jour de maintenance et de sécurité. La stratégie d’obsolescence standard de Lambda consiste à rendre obsolète un environnement d’exécution lorsqu’un composant majeur de celui-ci atteint la fin du support communautaire à long terme (LTS) et que les mises à jour de sécurité ne sont plus disponibles. Le plus souvent, il s’agit de l’environnement d’exécution du langage, bien que dans certains cas, un environnement d’exécution puisse être obsolète car le système d’exploitation (OS) atteint la fin du LTS.

Une fois qu'un environnement d'exécution est obsolète, il ne AWS peut plus y appliquer de correctifs ou de mises à jour de sécurité, et les fonctions utilisant cet environnement d'exécution ne sont plus éligibles au support technique. Ces environnements d’exécution obsolètes sont fournis « en l’état », sans aucune garantie, et peuvent contenir des bogues, des erreurs, des défauts ou d’autres vulnérabilités.

Pour en savoir plus sur la gestion des mises à niveau d'exécution et de la dépréciation, consultez les sections suivantes et la gestion des mises à niveau AWS Lambda d'exécution sur le blog AWS Compute.

Important

Lambda retarde parfois l’obsolescence d’un environnement d’exécution Lambda pendant une période limitée au-delà de la date de fin du support de la version du langage prise en charge par l’environnement d’exécution. Pendant cette période, Lambda applique uniquement des correctifs de sécurité au système d’exploitation de l’environnement d’exécution. Lambda n’applique pas de correctifs de sécurité aux environnements d’exécution des langages de programmation une fois leur date de fin de support atteinte.

Modèle de responsabilité partagée

Lambda est responsable de la conservation et de la publication des mises à jour de sécurité pour tous les environnements d’exécution gérés et les images de base de conteneur pris en charge. Par défaut, Lambda appliquera ces mises à jour automatiquement aux fonctions utilisant des environnements d’exécution gérés. Lorsque le paramètre de mise à jour automatique de l’environnement d’exécution par défaut a été modifié, consultez le modèle de responsabilité partagée des contrôles de gestion de l’environnement d’exécution. Pour les fonctions déployées à l’aide d’images de conteneurs, vous êtes responsable de la reconstruction de l’image de conteneur de votre fonction à partir de la dernière image de base et du redéploiement de l’image de conteneur.

Lorsqu’un environnement d’exécution devient obsolète, la responsabilité de Lambda en matière de mise à jour de l’environnement d’exécution géré et des images de base de conteneur cesse. Vous êtes responsable de la mise à niveau de vos fonctions afin d’utiliser un environnement d’exécution ou une image de base compatible.

Dans tous les cas, vous êtes responsable de l’application des mises à jour de votre code de fonction, y compris ses dépendances. Vos responsabilités dans le cadre du modèle de responsabilité partagée sont résumées dans le tableau suivant.

Phase de cycle de vie de l’environnement d’exécution Responsabilité de Lambda Vos responsabilités
Environnement d’exécution géré pris en charge

Fournissez des mises à jour d’environnement d’exécution régulières avec des correctifs de sécurité et d’autres mises à jour.

Appliquer les mises à jour de l’environnement d’exécution automatiquement par défaut (consultez Modes de mise à jour de l’environnement d’exécution pour les comportements autres que ceux par défaut).

Mettez à jour votre code de fonction, y compris ses dépendances, pour corriger les éventuelles failles de sécurité.
Image de conteneur prise en charge Fournissez des mises à jour régulières de l’image de base du conteneur avec des correctifs de sécurité et autres mises à jour.

Mettez à jour votre code de fonction, y compris ses dépendances, pour corriger les éventuelles failles de sécurité.

Reconstruisez et redéployez régulièrement votre image de conteneur à l’aide de la dernière image de base.

Environnement d’exécution géré proche de l’obsolescence

Avertissez les clients avant la dépréciation de l'exécution via la documentation AWS Health Dashboard, le courrier électronique et. Trusted Advisor

La responsabilité des mises à jour de l’environnement d’exécution prend fin en cas d’obsolescence.

Surveillez la documentation Lambda AWS Health Dashboard, les e-mails ou les informations relatives à la Trusted Advisor dépréciation de l'exécution.

Mettez à niveau les fonctions vers un environnement d’exécution compatible avant que le précédent ne soit obsolète.

L’image de conteneur approche de l’obsolescence

Les notifications d’obsolescence ne sont pas disponibles pour les fonctions utilisant des images de conteneur.

La responsabilité des mises à jour de l’image de base du conteneur s’arrête à la date d’obsolescence.

Tenez compte des planifications d’obsolescence et mettez à niveau les fonctions vers une image de base prise en charge avant que l’image précédente ne soit obsolète.

Environnement d’exécution utilisé après la date d’obsolescence

Une fois qu'un environnement d'exécution est obsolète, il ne AWS peut plus y appliquer de correctifs ou de mises à jour de sécurité, et les fonctions utilisant cet environnement d'exécution ne sont plus éligibles au support technique. Ces environnements d’exécution obsolètes sont fournis « en l’état », sans aucune garantie, et peuvent contenir des bogues, des erreurs, des défauts ou d’autres vulnérabilités. Les fonctions qui utilisent un environnement d’exécution obsolète peuvent subir une dégradation des performances ou d’autres problèmes, tels que l’expiration d’un certificat, qui peuvent les empêcher de fonctionner correctement.

Pendant au moins 30 jours après l’obsolescence d'un environnement d'exécution, vous pouvez toujours créer de nouvelles fonctions Lambda à l'aide de cet environnement d'exécution. À partir de 30 jours après l’obsolescence, Lambda commence à bloquer la création de nouvelles fonctions.

Pendant au moins 60 jours après l’obsolescence d’un environnement d’exécution, vous pouvez toujours mettre à jour le code et la configuration des fonctions existantes. À partir de 60 jours suivant la date d’obsolescence, Lambda commence à bloquer la mise à jour du code de fonction pour les fonctions existantes.

Note

Pour certains environnements d'exécution, AWS cela retarde les block-function-update dates block-function-create et au-delà des 30 et 60 jours habituels après la dépréciation. AWS a apporté cette modification en réponse aux commentaires des clients afin de vous donner plus de temps pour améliorer vos fonctionnalités. Reportez-vous aux tableaux figurant dans Environnements d'exécution pris en charge et Environnements d’exécution obsolètes pour connaître les dates relatives à votre environnement d’exécution.

Vous pouvez mettre à jour une fonction pour qu’elle utilise un environnement d’exécution plus récent indéfiniment après qu’un environnement d’exécution soit devenu obsolète. Vous devez vérifier que votre fonction fonctionne avec le nouvel environnement d’exécution avant d’appliquer le changement d’environnement d’exécution en production, car vous ne pourrez pas revenir à l’environnement d’exécution obsolète une fois la période de 60 jours écoulée. Nous vous recommandons d’utiliser des versions et alias de fonctions pour permettre un déploiement sécurisé avec restauration.

Notez que la durée exacte pendant laquelle vous pouvez continuer à créer et à mettre à jour des fonctions n'est pas fixée. Cette période peut varier pour chaque dépréciation et pour différents. Régions AWS Les dates nominales pour le blocage des créations et des mises à jour de fonctions sont fournies dans le tableau des environnements d’exécution pris en charge dans la première section de cette page. Lambda ne commencera pas à bloquer les créations ou les mises à jour de fonctions avant les dates indiquées dans ce tableau.

Vous pouvez continuer à invoquer vos fonctions indéfiniment une fois que l’environnement d’exécution est devenu obsolète. Toutefois, il AWS est vivement recommandé de migrer les fonctions vers un environnement d'exécution compatible afin que celles-ci continuent de recevoir des correctifs de sécurité et restent éligibles au support technique.

Réception de notifications d'obsolescence lors de l'exécution

Lorsqu'un environnement d'exécution approche de sa date d'obsolescence, Lambda vous envoie une alerte par e-mail si l'une de vos Compte AWS fonctions utilise cet environnement d'exécution. Les notifications sont également affichées dans AWS Health Dashboard et dans AWS Trusted Advisor.

  • Réception de notifications par e-mail :

    Lambda vous envoie une alerte par e-mail au moins 180 jours avant qu'un environnement d'exécution ne soit obsolète. Cet e-mail répertorie les versions $LATEST de toutes les fonctions utilisant le runtime. Pour consulter la liste complète des versions de fonctions concernées, utilisez Trusted Advisor ou consultezRécupération de données sur les fonctions Lambda qui utilisent un environnement d’exécution obsolète.

    Lambda envoie une notification par e-mail au contact principal Compte AWS de votre compte. Pour plus d'informations sur l'affichage ou la mise à jour des adresses e-mail de votre compte, consultez la section Mise à jour des informations de contact dans la Référence générale AWS .

  • Recevoir des notifications par le biais de AWS Health Dashboard :

    AWS Health Dashboard Affiche une notification au moins 180 jours avant qu'un environnement d'exécution ne soit obsolète. Les notifications apparaissent sur la page État de votre compte sous Autres notifications. L'onglet Ressources affectées de la notification répertorie les versions $LATEST de toutes les fonctions utilisant le runtime.

    Note

    Pour voir l'intégralité et la up-to-date liste des versions des fonctions concernées, utilisez Trusted Advisor ou consultezRécupération de données sur les fonctions Lambda qui utilisent un environnement d’exécution obsolète.

    AWS Health Dashboard les notifications expirent 90 jours après que le runtime concerné soit devenu obsolète.

  • En utilisant AWS Trusted Advisor

    Trusted Advisor affiche une notification au moins 180 jours avant qu'un environnement d'exécution ne soit obsolète. Les notifications apparaissent sur la page Sécurité. La liste des fonctions concernées s'affiche sous Fonctions AWS Lambda utilisant des environnements d'exécution obsolètes. Cette liste de fonctions affiche à la fois $LATEST et les versions publiées et les mises à jour automatiques pour refléter l'état actuel de vos fonctions.

    Vous pouvez activer les notifications hebdomadaires par e-mail depuis Trusted Advisor la page des préférences de la Trusted Advisor console.

Environnements d’exécution obsolètes

Les environnements d’exécution suivants ont atteint la fin de prise en charge :

Nom Identifiant Système d’exploitation Date d’obsolescence Créer la fonction de blocage Mettre à jour la fonction de blocage

.NET 6

dotnet6

Amazon Linux 2

20 décembre 2024

1e octobre 2025

1 novembre 2025

Python 3.8

python3.8

Amazon Linux 2

14 octobre 2024

1e octobre 2025

1 novembre 2025

Node.js 16

nodejs16.x

Amazon Linux 2

12 juin 2024

1e octobre 2025

1 novembre 2025

.NET 7 (conteneur uniquement)

dotnet7

Amazon Linux 2

14 mai 2024

N/A

N/A

Java 8

java8

Amazon Linux

8 janvier 2024

8 février 2024

1 novembre 2025

Go 1.x

go1.x

Amazon Linux

8 janvier 2024

8 février 2024

1 novembre 2025

Exécution réservée au système d'exploitation

provided

Amazon Linux

8 janvier 2024

8 février 2024

1 novembre 2025

Ruby 2.7

ruby2.7

Amazon Linux 2

7 décembre 2023

9 janvier 2024

1 novembre 2025

Node.js 14

nodejs14.x

Amazon Linux 2

4 décembre 2023

9 janvier 2024

1 novembre 2025

Python 3.7

python3.7

Amazon Linux

4 décembre 2023

9 janvier 2024

1 novembre 2025

.NET Core 3.1

dotnetcore3.1

Amazon Linux 2

3 avril 2023

3 avril 2023

3 mai 2023

Node.js 12

nodejs12.x

Amazon Linux 2

31 mars 2023

31 mars 2023

30 avril 2023

Python 3.6

python3.6

Amazon Linux

18 juillet 2022

18 juillet 2022

29 août 2022

.NET 5 (conteneur uniquement)

dotnet5.0

Amazon Linux 2

10 mai 2022

N/A

N/A

.NET Core 2.1

dotnetcore2.1

Amazon Linux

5 janvier 2022

5 janvier 2022

13 avril 2022

Node.js 10

nodejs10.x

Amazon Linux 2

30 juillet 2021

30 juillet 2021

14 février 2022

Ruby 2.5

ruby2.5

Amazon Linux

30 juillet 2021

30 juillet 2021

31 mars 2022

Python 2.7

python2.7

Amazon Linux

15 juillet 2021

15 juillet 2021

30 mai 2022

Node.js 8.10

nodejs8.10

Amazon Linux

6 mars 2020

N/A

6 mars 2020

Node.js 4.3

nodejs4.3

Amazon Linux

5 mars 2020

N/A

5 mars 2020

Node.js 4.3 edge

nodejs4.3-edge

Amazon Linux

5 mars 2020

N/A

30 avril 2019

Node.js 6.10

nodejs6.10

Amazon Linux

12 août 2019

12 août 2019

N/A

.NET Core 1.0

dotnetcore1.0

Amazon Linux

27 juin 2019

N/A

30 juillet 2019

.NET Core 2.0

dotnetcore2.0

Amazon Linux

30 mai 2019

N/A

30 mai 2019

Node.js 0.10

nodejs

Amazon Linux

N/A

N/A

31 octobre 2016

Dans presque tous les cas, la end-of-life date d'une version linguistique ou d'un système d'exploitation est connue bien à l'avance. Les liens suivants fournissent des end-of-life plannings pour chaque langage pris en charge par Lambda en tant qu'environnement d'exécution géré.

Stratégies de prise en charge des langages et des infrastructures