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