Clément Schanen

Réseau et diffusion de contenuService régional

API Gateway

Permet de créer, sécuriser, distribuer et monitorer des API à grande échelle, sans gérer d’infrastructure

Fonctionnement

Le rôle d’API Gateway entre le client et le backend Le client adresse ses requêtes à API Gateway, qui lui renvoie les réponses. API Gateway s’intègre au backend via Lambda, ALB, SQS, DynamoDB ou HTTP. Client requête réponse API Gateway Intégration Lambda | ALB | SQS DynamoDB | HTTP Backend
  • Prise en charge de l’authentification, du versioning, du throttling, du cache, du monitoring et de la gestion des erreurs
  • Intégration avec la plupart des services AWS via Lambda ou HTTP endpoint

Types d’API

Types Cas d’usage Caractéristiques
REST API (v1) Fonctionnalités avancées, règles fines Throttle configurable, API Keys, usage plans, transformation
HTTP API (v2) Performances + coût réduit, serverless moderne 60 % moins cher, plus rapide, OIDC, JWT
WebSocket Communication bidirectionnelle (chat, gaming, IoT) Temps réel

Sécurité

  • API Gateway gère plusieurs modes d’authentification :
    • IAM (SigV4) : pour les appels serveur à serveur
    • Cognito User Pools : authentification utilisateur
    • Lambda Authorizer (custom auth)
    • JWT authorizer (HTTP API)
    • API Keys et Usage Plans : pour monétiser, limiter, suivre l’usage

Gestion des environnements

  • API Gateway utilise des stages pour gérer les environnements
  • Chaque stage peut avoir sa propre configuration (paramètres, throttling, logging, cache, variable d’environnement, endpoint publique)

Mise en cache

  • Système de cache disponible pour les REST API
    • possibilité de définir un TTL
    • peut être activé par stage

Monitoring et logs

  • API Gateway envoie :
    • des logs (CloudWatch Logs)
    • des metrics (CloudWatch Metrics)
    • des traces (X-Ray)

Quelques métriques importantes à monitorer : 4XXError, 5XXError, Latency, IntegrationLatency, Count

Coûts

  • API Gateway facture :
    • par requête
    • options supplémentaires (cache, transfert de données, WebSocket, PrivateLink…)

REST API est beaucoup plus cher que HTTP API