Clément Schanen

Réseau et diffusion de contenuService régional

ELB

Elastic Load Balancing

Permet de distribuer automatiquement le trafic réseau entrant vers plusieurs cibles

Fonctionnement

  • Utilise des target groups pour regrouper les instances cibles
  • Système de health check pour envoyer les requêtes aux instances saines
  • Support du scaling automatique des backends

Il est possible d’avoir plusieurs listeners par load balancers

Types

Type Couche OSI Cas d’usage
ALB (application) 7 HTTP/HTTPS, routage intelligent
NLB (network) 4 Performance, faible latence
GWLB (Gateway) 3 Intégration d’application réseau tierces
CLB (Classic) 7 Legacy uniquement

Application Load Balancer (ALB)

  • Couche 7 du modèle OSI
  • Gestion des protocoles HTTP et HTTPS
  • Routage intelligent
    • basé sur le path (par exemple /images)
    • basé sur les headers, host, méthodes HTTP
  • Règles évaluées par ordre de priorité
  • Système de sticky session via cookie

Network Load Balancer (NLB)

  • Couche 4 du modèle OSI
  • Très hautes performances (millions de requêtes par secondes)
  • Routage direct vers des IP et ports

Network Load Balancer (suite)

  • Mode “fail open” si toutes les cibles sont unhealthy : tout le trafic est redirigé sur toutes les instances
  • Pas de routage conditionnel, ni de règles personnalisées

Gateway Load Balancer (GWLB)

  • Couche 3 du modèle OSI
  • Permet de gérer des applications réseau tierces (firewall, proxies, détection d’intrusion…)

Classic Load Balancer (CLB)

  • Legacy, à ne plus utiliser en production (éventuellement pour des environnements de développement)
  • Supporte HTTP/HTTPS, headers X- FORWARDED-FOR et sticky sessions

Sticky sessions

  • Permet de lier un utilisateur à la même cible via un cookie
  • Peut nuire à un load balancing équilibré si mal géré

Penser à désactiver les sticky sessions avant de retirer une instance

Connection draining

  • Permet à une instance de terminer le traitement des requêtes existantes avant d’être retirée
  • Recommandé pour éviter les pertes de requête