Amazon API Gateway est un service entièrement géré qui permet aux développeurs de facilement publier, gérer, surveiller, sécuriser et utiliser des API à n'importe quelle échelle. Il s'agit d'un service facturé en fonction de l'utilisation, qui effectue toutes les tâches lourdes non différenciées liées à l'exécution sécurisée et fiable des API à grande échelle.

Avec la multiplication des appareils mobiles et l'essor de l'Internet des objets (IoT), il est de plus en plus courant de rendre les données et les systèmes backend accessibles aux applications via des API. Étant donné que de nombreuses applications utilisent ces API et que des communautés de développeurs en dépendent, le développement et la gestion des API demandent de plus en plus de temps et d'efforts. Pour faciliter votre utilisation de ces API, API Gateway peut générer des kits SDK client dans de nombreux langages, notamment JavaScript, iOS et Android.

Prise en charge des API RESTful et WebSocket

Avec API Gateway, vous pouvez créer des API RESTful via des API HTTP ou des API REST. Les API HTTP constituent le meilleur moyen de créer des API qui ne nécessitent pas de fonctionnalités de gestion d'API. Les API HTTP sont optimisées pour les charges de travail sans serveur et les backends HTTP : elles permettent des économies allant jusqu'à 71 % et une réduction de la latence allant jusqu'à 60 % par rapport aux API REST d'API Gateway. Pour les charges de travail qui nécessitent une fonctionnalité de proxy d'API et de gestion d'API, comme les plans d'utilisation et les clés d'API, API Gateway fournit également des API REST. Pour voir une comparaison côte-à-côte de fonctionnalités prises en charge pour les API HTTP et les API REST, consultez notre documentation. Utilisez des API WebSocket pour créer des applications de communication bidirectionnelle en temps réel, telles que des applications de chat et des tableaux de bord de streaming. Pour en savoir plus sur les API RESTful et les API WebSocket d'API Gateway, rendez-vous sur notre page de questions et réponses.

Intégrations privées avec AWS ELB et AWS Cloud Map

Avec API Gateway, vous pouvez acheminer des demandes vers des ressources privées dans votre VPC. En utilisant des API HTTP, vous pouvez créer des API dédiées aux services protégés par des instances ALB privées et des instances NLB privées, et aux services IP enregistrés auprès de AWS Cloud Map, comme les tâches ECS.

Résilience

Avec API Gateway, vous pouvez gérer le trafic vers vos systèmes backend en définissant des règles de limitation, en fonction du nombre de demandes par seconde, pour chaque méthode HTTP de vos API. API Gateway gère n'importe quel niveau de trafic reçu par une API. Vous êtes donc libre de vous concentrer sur votre logique métier et vos services, plutôt que sur la gestion de l'infrastructure. Si vous utilisez des API REST, vous pouvez également configurer un cache avec des clés personnalisables et une durée de vie en secondes pour les données de votre API, afin d'éviter d'accéder à vos services backend pour chaque demande.

Création et déploiement faciles d'API

Avec API Gateway, vous pouvez créer rapidement et facilement une API personnalisée pour votre code s'exécutant dans AWS Lambda, puis appeler le code Lambda depuis votre API. API Gateway peut exécuter un code AWS Lambda dans votre compte, démarrer des machines d'état AWS Step Functions ou appeler AWS Elastic Beanstalk, Amazon EC2 ou des services web externes à AWS avec des points de terminaison HTTP accessibles au public. La console API Gateway vous permet de définir l'API REST ainsi que ses ressources et méthodes associées, de gérer le cycle de vie de l'API, de générer des kits SDK client et de consulter les métriques concernant l'API.

Surveillance du fonctionnement de l'API

Une fois qu'une API est déployée et utilisée, API Gateway vous fournit un tableau de bord permettant de surveiller les appels aux services. La console Gateway est intégrée à Amazon CloudWatch, vous pouvez donc obtenir des mesures de performance de backend, concernant par exemple les appels d'API, la latence et les taux d'erreurs. Comme API Gateway utilise CloudWatch pour enregistrer les informations de surveillance, vous pouvez configurer des alarmes personnalisées pour les API API Gateway. API Gateway peut également journaliser les erreurs d'exécution des API dans CloudWatch Logs afin de faciliter le débogage.

Autorisation AWS

Pour autoriser et vérifier les demandes d'API à destination des services AWS, API Gateway peut vous aider à tirer profit de Signature version 4 pour les API REST et les API WebSocket. Avec l'authentification Signature version 4, vous pouvez utiliser AWS Identity and Access Management (IAM) et accéder aux stratégies permettant d'autoriser l'accès à vos API et à toutes vos autres ressources AWS. Vous pouvez également utiliser les fonctions AWS Lambda pour vérifier et autoriser les jetons « Bearer » tels que les jetons JWT ou les assertions SAML.

Clés d'API pour les développeurs tiers

Si vous utilisez des API REST, API Gateway vous permet de gérer l'écosystème de développeurs tiers accédant à vos API. Vous pouvez créer des clés d'API sur API Gateway, définir des autorisations d'accès détaillées sur chaque clé d'API et les distribuer aux développeurs tiers afin qu'ils puissent accéder à vos API. Vous pouvez aussi établir des plans qui fixent des limitations et des quotas de demandes pour chaque clé d'API. L'utilisation des clés d'API est totalement facultative et doit être activée pour chaque méthode.

Génération de kits SDK

Si vous utilisez des API REST, Amazon API Gateway peut générer des kits SDK client pour de nombreuses plateformes, que vous pouvez ensuite utiliser pour tester rapidement de nouvelles API à partir de vos applications et distribuer des kits de développement logiciel à des développeurs tiers. Les kits SDK ainsi générés gèrent les clés d'API et signent les requêtes à l'aide des informations d'identification AWS. API Gateway peut générer des kits de développement SDK clients pour Java, JavaScript, Java pour Android, Objective-C ou Swift pour iOS et Ruby. Vous pouvez utiliser l'interface de ligne de commande AWS pour générer et télécharger un kit de développement SDK d'une API pour une plate-forme prise en charge en appelant la commande get-sdk.

Gestion du cycle de vie d'une API

Si vous utilisez des API REST, API Gateway vous permet d'exécuter simultanément plusieurs versions de la même API, afin que les applications puissent continuer à appeler les versions précédentes de l'API, même après la publication des dernières versions. API Gateway vous aide également à gérer les multiples étapes de lancement pour chaque version de l'API, comme les versions alpha, bêta et de production. Chaque étape de l'API peut être configurée pour interagir avec des endpoints back-end différents selon la configuration de votre API. Les étapes et versions spécifiques d'une API peuvent être associées à un nom de domaine personnalisé et être gérées via API Gateway. La gestion des étapes et des versions vous permet de tester facilement de nouvelles versions d'une API, qui améliorent ou ajoutent de nouvelles fonctionnalités aux versions précédentes, et garantit la rétrocompatibilité lorsque des communautés d'utilisateurs effectuent la transition vers la dernière version.