Déploiement du code AWS Lambda dans différents environnements

Ce guide complet fournit des instructions claires sur la création, le déploiement et la sécurisation d'une fonction Lambda dans AWS. Il offre des informations pratiques sur la configuration d'environnements, la création d'alias et leur intégration à API Gateway. Pour assister à l'application concrète de ces étapes, nous vous encourageons à planifier une démonstration dès aujourd'hui.
La beauté d'AWS Lambda est qu'il vous permet de déployer et d'exécuter du code sans avoir besoin d'un quelconque serveur physique. En d'autres termes, vous pouvez mettre en place une architecture « serverless » à l'aide d'AWS Lambda.
Lorsque vous déployez votre code, il se peut que vous souhaitiez le déployer dans différents environnements (tels que les environnements de test, de développement et de production), afin de pouvoir le tester avant de le mettre en ligne.
Cet article vous présente les étapes de la configuration des fonctions Lambda dans différents environnements en utilisant l'alias de fonction AWS Lambda et le contrôle des versions. À la fin de ce blog, vous aurez appris à faire ce qui suit :
- Créer un alias pour la fonction AWS Lambda
- Associer l'alias de la fonction AWS Lambda à l'étape AWS API Gateway
- Sécuriser l'étape AWS API Gateway avec une clé d'API et une limitation de débit
- Réassocier les versions à l'alias
Ce sont les éléments essentiels pour gérer les différents environnements au sein du système serverless et pour le bon déroulement des mises à jour.
Créer un alias pour la fonction AWS Lambda
La section suivante vous montre comment créer des alias d'environnement pour une fonction Lambda et les associer aux versions de la fonction. Nous allons créer deux alias pour les environnements de développement et de production à titre d'exemple.
Modernisez votre présence numérique grâce à Contentstack. Découvrez les réussites d'Icelandair et Pella dans ce domaine. Améliorez les performances, l'efficacité et la vitesse de publication de votre site, comme eux l'ont fait. Commencez votre parcours pour offrir une expérience numérique moderne. Commencez votre essai gratuit avec Contentstack dès aujourd'hui et bénéficiez d'un retour sur investissement allant jusqu'à 295 %.
Créer une fonction Lambda
Pour créer une fonction Lambda, suivez les étapes ci-dessous :
- Connectez-vous à votre console de gestion AWS, sélectionnez le service AWS Lambda dans la liste des services.
- Cliquez sur le bouton Create function, puis sur l'option Author from scratch.
- Configurez la lambda en fonction de vos besoins. Choisissez Node.js 12.x comme langage d'exécution et cliquez sur le bouton Create function.
Publier la version
Après avoir créé une fonction Lambda, vous pouvez publier la version comme suit :
- Accédez à la version que vous venez de créer.
- Sélectionnez Publish new version dans le menu déroulant « Actions » :
- Publiez la nouvelle version avec une description appropriée, par exemple « Première version stable ».
Créer un alias pour chaque environnement
L'étape suivante consiste à créer un alias pour chaque environnement, comme indiqué ci-dessous :
- Dans le menu déroulant Actions, sélectionnez Create a new alias.
- Ajoutez le nom, la description et la version de l'alias, comme indiqué dans l'exemple suivant :
Remarque : vous devez effectuer cette étape deux fois, d'abord pour l'environnement de développement et ensuite pour l'environnement de production.
- La version pour l'environnement de développement doit être $LATEST et celle pour l'environnement de production doit être 1, c.-à-d. la version que vous avez créée dans la section Publier la version ci-dessus.
Ces étapes garantissent qu'une version spécifique de la fonction Lambda est attribuée à l'environnement de production et que la dernière version est attribuée à l'environnement de développement.
Associer l'alias de la fonction AWS Lambda à l'étape AWS API Gateway
Cette section montre comment créer une nouvelle passerelle API AWS Lambda et associer les étapes de production et d'environnement aux alias de fonction Lambda respectifs.
Créer une nouvelle API REST
Les API REST permettent à la fonction Lambda de récupérer les données et de les envoyer. L'étape suivante consiste donc à créer une API REST en suivant les étapes ci-dessous :
- Connectez-vous à la console de gestion AWS et sélectionnez API Gateways dans la liste des services.
- Cliquez sur le bouton Create API.
- Sur la page Choose an API type, choisissez l'option REST API(l'API publique) et cliquez sur Build.
- Sur la page suivante, assurez-vous que la section Choose the protocol est cochée et que New API est coché dans la section Create new API. Saisissez le nom de l'API dans la section Paramètres et cliquez sur Create API.
- Ajoutez maintenant une nouvelle ressource à la passerelle API, comme indiqué dans la capture d'écran suivante :
- Ajoutez une méthode simple du type requis. Dans cet exemple, nous avons créé une méthode GET pour "/demo-resource".
Déploiement et ajout d'une variable de scène
Maintenant que l'API est créée, déployons-la.
- Déployez l'API dans deux nouvelles étapes et nommez-les développement et production.
- Dans l'onglet Stages de API Gateway, naviguez jusqu'à chaque étape déployée et ajoutez la variable stage avec la clé lambdaAlias et le nom de l'étape comme valeur.
Associer l'étape à l'alias lambda
- Dans l'onglet Resources de API Gateway, sélectionnez la méthode REST API que vous avez créée ci-dessus.
- Cliquez sur Integration Request,, qui est associé à Mock par défaut.
- Sélectionnez la région Lambda dans la section Integration Request et définissez le nom comme étant le nom de la fonction Lambda suivi de :${stageVariables.lambdaAlias}. Dans notre exemple, nous l'avons nommée demo-function:${stageVariables.lambdaAlias} comme indiqué ci-dessous :
- Après avoir cliqué sur Enregistrer, une invite apparaît avec une commande CLI et des instructions pour ajouter des autorisations pour chaque étape. Exécutez la commande à partir de la CLI AWS en remplaçant :${stageVariables.lambdaAlias}:par le nom de chaque étape.
- Après avoir exécuté la commande, vos étapes Lambda s'attachent avec succès aux alias de fonction Lambda respectifs.
Sécurisation de l'étape AWS API Gateway avec une clé d'API et une limitation de débit
La section suivante montre comment ajouter la sécurité de la clé API à la passerelle API et appliquer la limitation de débit appropriée pour protéger vos environnements respectifs.
Contentstack : votre partenaire qui vous permet de faire évoluer vos expériences numériques. Nommé à deux reprises Leader de sa catégorie, avec le Prix de la DXP composable de Forrester. Contentstack propose une approche innovante en matière de DXP. Découvrez notre architecture basée à 100 % sur les microservices et notre couverture API qui permettent une évolutivité instantanée. Commencez votre essai gratuit dès aujourd'hui !
Création d'un plan d'utilisation
- Créez un plan d'utilisation de l'API pour les environnements de développement et de production avec une limitation et un quota appropriés pour l'étape respective.
- Remarque : pour de plus amples informations sur l'algorithme de limitation du débit, consultez le guide à la page suivante : https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html.
- Associez maintenant l'étape de la passerelle API au plan d'utilisation correspondant lors de la création. Dans notre cas d'utilisation, nous associons le plan d'utilisation de développement à la phase de développement de la passerelle API.
Créer et ajouter une clé Api au plan d'utilisation
- Sélectionnez chaque plan d'utilisation et accédez à l'onglet API Keys.
- Cliquez sur Create an API Key and add it to the Usage Plan (Créer une clé API et l'ajouter au plan d'utilisation), puis ajoutez la clé API.
- Après avoir créé la clé API, cliquez sur la clé API que vous venez de créer dans les plans d'utilisation respectifs.
Rendre la clé API obligatoire pour la ressource
- Accédez à la méthode de ressource créée pour l'API.
- Dans la section Method Execution, cliquez sur Method Request.
- Dans la section Paramètres, définissez la valeur de la liste déroulante API Key Required sur true (vrai).
- Déployez la passerelle API dans les deux étapes créées pour les environnements respectifs.
Après avoir effectué les étapes ci-dessus, vous aurez besoin des clés API respectives pour accéder aux étapes de la passerelle API associées aux différents alias.
Réassociation de la version à l'alias
Cette section montre comment vous pouvez mettre à jour la version de l'alias pour une fonction Lambda, que vous pouvez utiliser pour associer une nouvelle version à un alias de production ou pour revenir à une version antérieure du code.
Publier une nouvelle version
- Publiez une nouvelle version de la dernière fonction Lambda lorsque le développement est terminé.
- Cette étape est facultative si vous essayez de revenir à une version antérieure du code.
Changer d'alias
Sélectionnez l'alias de production dans la liste déroulante Qualifiers de la fonction AWS Lambda.
Mettre à jour la version de l'alias
- Après avoir changé d'alias dans le menu déroulant, descendez jusqu'à la section Aliases de la fonction Lambda et sélectionnez une nouvelle version pour l'alias.
- Cliquez sur Save pour terminer la réassociation de la version à l'alias.
Les étapes ci-dessus devraient vous aider à configurer plusieurs environnements dans AWS Lambda. Vous pouvez vous assurer que l'URL de développement obtient toujours le résultat de la dernière fonction Lambda et que l'environnement de production est lié à une version fixe de la fonction Lambda.
À propos de Contentstack
L'équipe de Contentstack est composée de professionnels hautement qualifiés, spécialisés dans le marketing produit, l'acquisition de nouveaux clients et leur fidélisation, ainsi que dans la stratégie de marketing numérique. Les membres de l'équipe de Contentstack ont une vaste expérience acquise à des postes de direction dans des entreprises technologiques renommées dans divers secteurs. Ils apportent chacun des expériences diverses et une connaissance approfondie du secteur afin de fournir des solutions efficaces et transformatrices.
Contentstack se démarque sur les marchés des DXP composables et des CMS headless avec un historique impressionnant de 87 récompenses d'utilisateurs G2, 6 reconnaissances d'analystes et 3 distinctions de l'industrie, démontrant sa solide présence sur le marché ainsi que la satisfaction des utilisateurs.
Consultez nos études de cas pour découvrir pourquoi des entreprises leaders du secteur font confiance à Contentstack.
Découvrez la puissance de la plateforme primée de Contentstack en planifiant une démo, en démarrant un essai gratuit ou en rejoignant une démo en petit groupe dès aujourd'hui.
Vous pouvez suivre Contentstack sur LinkedIn.
