Déploiement des fonctions 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.

Déploiement des fonctions Lambda

Vous pouvez déployer du code vers une fonction Lambda en chargeant une archive de fichier ZIP, ou en créant et en chargeant une image de conteneur.

Archives de fichiers .zip

Une archive de fichiers .zip inclut le code de votre application et ses dépendances. Lorsque vous créez des fonctions à l'aide de la console Lambda ou d'une boîte à outils, Lambda crée automatiquement une archive de fichiers .zip de votre code.

Lorsque vous créez des fonctions avec l'API Lambda, les outils de ligne de commande ou les AWS SDK, vous devez créer un package de déploiement. Vous devez également créer un package de déploiement si votre fonction utilise un langage compilé, ou ajouter des dépendances à votre fonction. Pour déployer le code de votre fonction, vous chargez le package de déploiement à partir d'Amazon Simple Storage Service (Amazon S3) ou de votre ordinateur local.

Vous pouvez télécharger un fichier .zip en tant que package de déploiement à l'aide de la console AWS Command Line Interface Lambda AWS CLI() ou dans un bucket Amazon Simple Storage Service (Amazon S3).

Autorisations relatives aux fichiers du package de déploiement

Le runtime Lambda a besoin d’une autorisation pour lire les fichiers de votre package de déploiement. Dans la notation octale des autorisations Linux, Lambda a besoin de 644 autorisations pour les fichiers non exécutables (rw-r--r--) et de 755 autorisations (rwxr-xr-x) pour les répertoires et les fichiers exécutables.

Sous Linux et macOS, utilisez la commande chmod pour modifier les autorisations de fichiers sur les fichiers et les répertoires de votre package de déploiement. Par exemple, pour accorder les autorisations appropriées à un fichier exécutable, exécutez la commande suivante.

chmod 755 <filepath>

Pour modifier les autorisations relatives aux fichiers dans Windows, voir Définir, afficher, modifier ou supprimer des autorisations sur un objet dans la documentation Microsoft Windows.

Images de conteneur

Vous pouvez conditionner votre code et vos dépendances sous forme d'image de conteneur à l'aide d'outils tels que l'interface de ligne de commande (CLI) Docker. Vous pouvez ensuite télécharger l'image dans votre registre de conteneurs hébergé sur Amazon Elastic Container Registry (Amazon ECR).

Lorsque vous appelez la fonction, Lambda déploie l'image conteneur dans un environnement d'exécution. Lambda initialise toutes les extensions, puis exécute le code d'initialisation de la fonction (code en dehors du gestionnaire principal). Notez que la durée d'initialisation de la fonction est incluse dans le temps d'exécution facturé.

Lambda exécute ensuite la fonction en appelant le point d'entrée de code spécifié dans la configuration de la fonction (les paramètres d'image du conteneur ENTRYPOINT et CMD).

AWS fournit un ensemble d'images de base open source que vous pouvez utiliser pour créer l'image du conteneur pour votre code de fonction. Vous pouvez également utiliser des images de base alternatives provenant d'autres registres de conteneurs. AWS fournit également un client d'exécution open source que vous ajoutez à votre image de base alternative pour la rendre compatible avec le service Lambda.

En outre, AWS fournit un émulateur d'interface d'exécution qui vous permet de tester vos fonctions localement à l'aide d'outils tels que la CLI Docker.

Note

Vous créez chaque image de conteneur afin qu'elle soit compatible avec l'une des architectures de l'ensemble des instructions prises en charge par Lambda. Lambda fournit des images de base pour chacune des architectures de l'ensemble des instructions et Lambda fournit également des images de base qui prennent en charge les deux architectures.

L'image que vous créez pour la fonction ne doit avoir que l'une des architectures pour cible.

Il n'y a pas de frais supplémentaires pour le conditionnement et le déploiement de fonctions sous forme d'images de conteneur. Lorsqu'une fonction déployée en tant qu'image de conteneur est invoquée, vous payez les demandes d'invocation et la durée d'exécution. Le stockage de vos images conteneurs dans Amazon ECR occasionne des frais. Pour plus d'informations, consultez Tarification Amazon ECR.

Sécurité de l'image

Quand Lambda télécharge l'image conteneur à partir de sa source d'origine (Amazon ECR), l'image conteneur est optimisée, chiffrée et stockée à l'aide de méthodes de chiffrement convergentes authentifiées. Toutes les clés requises pour déchiffrer les données des clients sont protégées à l'aide de clés gérées par AWS KMS le client. Afin de suivre et de contrôler l'utilisation par Lambda des clés gérées par le client, vous pouvez consulter les journaux AWS CloudTrail.