Packages de déploiement Lambda - AWS Lambda

Packages de déploiement Lambda

Le code de votre fonction AWS Lambda se compose de scripts ou de programmes compilés et de leurs dépendances. Vous utilisez un package de déploiement pour déployer votre code de fonction vers Lambda. Lambda prend en charge deux types de packages de déploiement : les images de conteneur et les archives de fichiers .zip.

Images de conteneur

Une image de conteneur inclut le système d'exploitation de base, le runtime, les extensions Lambda, le code de votre application et ses dépendances. Vous pouvez également ajouter à l'image des données statiques, telles que des modèles de machine learning.

Lambda fournit un ensemble d'images de base open source que vous pouvez utiliser pour créer votre image de conteneur. Pour créer et tester des images de conteneur, vous pouvez utiliser l'interface de ligne de commande Modèle d'application sans serveur AWS (AWS SAM) ou les outils de conteneur natifs, tels que l'interface de ligne de commande Docker.

Vous téléchargez vos images de conteneur vers Amazon Elastic Container Registry (Amazon ECR), un service d'enregistrement d'images de conteneur AWS géré. Pour déployer l'image dans votre fonction, spécifiez l'URL de l'image Amazon ECR à l'aide de la console Lambda, de l'API Lambda, des outils de ligne de commande, ou des kits AWS SDK.

Pour plus d'informations sur les images de conteneur Lambda, consultez Utilisation d'images de conteneur avec Lambda.

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 kits de développement logiciel (SDK) AWS, 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, téléchargez le package de déploiement depuis Amazon Simple Storage Service (Amazon S3) ou votre ordinateur local.

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

Utilisation de la console Lambda

Les étapes suivantes expliquent comment charger un fichier .zip en tant que package de déploiement à l'aide de la console Lambda.

Pour charger un fichier .zip dans la console Lambda

  1. Ouvrez la page Functions (Fonctions) dans la console Lambda.

  2. Sélectionnez une fonction.

  3. Dans le panneau Source du code, choisissez Télécharger depuis, puis fichier .zip.

  4. Sélectionnez Upload (Charger) pour sélectionner votre fichier .zip local.

  5. Cliquez sur Enregistrer.

Utilisation de l'AWS CLI

Vous pouvez charger un fichier .zip en tant que package de déploiement à l'aide de l'AWS Command Line Interface (AWS CLI). Pour obtenir des instructions spécifiques au langage, consultez les sections suivantes :

Utiliser Amazon S3

Vous pouvez charger un fichier .zip en tant que package de déploiement à l'aide de Amazon Simple Storage Service (Amazon S3). Pour de plus amples informations, consultez Utilisation d'autres services AWS pour créer un package de déploiement.

Couches

Si vous déployez votre code de fonction à l'aide d'une archive de fichiers .zip, vous pouvez utiliser les couches Lambda comme mécanisme de distribution pour les bibliothèques, les runtimes personnalisés et d'autres dépendances de fonctions. Les couches vous permettent de gérer votre code de fonction en développement indépendamment du code immuable et des ressources qu'il utilise. Vous pouvez configurer votre fonction de sorte qu'elle utilise les couches que vous créez, les couches que AWS fournit, ou les couches d'autres clients AWS.

Vous n'utilisez pas de couches avec des images de conteneur. En lieu et place, vous conditionnez vos runtimes, bibliothèques et autres dépendances préférés en image de conteneur, lorsque vous créez l'image.

Pour plus d'informations sur les couches, consultez Création et partage de couches Lambda.

Utilisation d'autres services AWS pour créer un package de déploiement

La section suivante décrit les autres services AWS que vous pouvez utiliser pour empaqueter les dépendances pour votre fonction Lambda.

Packages de déploiement avec bibliothèques C ou C++

Si votre package de déploiement contient des bibliothèques natives, vous pouvez créer le package de déploiement avec Modèle d'application sans serveur AWS (AWS SAM). Vous pouvez utiliser la commande sam build de l'interface de ligne de commande AWS SAM CLI avec le --use-container pour créer votre package de déploiement. Cette option crée un package de déploiement à l'intérieur d'une image Docker compatible avec l'environnement d'exécution Lambda.

Pour de plus amples informations, veuillez consulter sam build dans le Guide du développeur Modèle d'application sans serveur AWS.

Packages de déploiement d'une taille supérieure à 50 Mo

Si votre package de déploiement est supérieur à 50 Mo, nous vous recommandons de télécharger votre code de fonction et vos dépendances dans un compartiment Amazon S3.

Vous pouvez créer un package de déploiement et charger le fichier .zip dans votre compartiment Amazon S3 dans la région AWS où vous souhaitez créer une fonction Lambda. Lorsque vous créez votre fonction Lambda, spécifiez le nom du compartiment S3 et le nom de la clé d'objet sur la console Lambda, ou à l'aide de AWS CLI.

Pour créer un compartiment à l'aide de la console Amazon S3, veuillez consulter Comment créer un compartiment S3 ? dans le Guide de l'utilisateur de la console Amazon Simple Storage Service.