L’Application Load Balancer (ALB) est le Load Balancer AWS de couche 7 (HTTP/HTTPS) — il comprend le contenu des requêtes et route intelligemment selon leur contenu, contrairement au NLB qui ne voit que des paquets bruts.
Ce qu’il sait faire (et que le NLB ne fait pas)
| Fonctionnalité | Description |
|---|---|
| Routage par contenu | Route selon l’URL (/images vs /api), le host header (multi-domaines sur un seul ALB), ou des headers custom |
| Terminaison TLS native | Déchiffre le HTTPS et présente le trafic en clair (ou re-chiffré) aux backends |
| Redirections et réponses fixes | Ex. rediriger tout le trafic HTTP vers HTTPS sans backend |
| Authentification intégrée | Peut valider une session via Cognito ou un IdP OIDC avant même d’atteindre le backend |
| WebSocket et HTTP/2 | Support natif |
Concepts clés
- Listener : écoute un port/protocole (ex. 443/HTTPS) et applique des règles de routage.
- Target Group : ensemble de cibles (instances, IP, Lambda) avec ses propres Health Checks — un ALB peut router vers plusieurs Target Groups selon les règles du Listener.
- Cross-zone load balancing : activé par défaut, répartit uniformément entre toutes les AZ.
En relation avec
- Elastic Load Balancing — hub ELB (ALB, NLB, CLB)
- Network Load Balancer (NLB) — pour du trafic brut haute performance plutôt que du routage applicatif
- Route 53 — routage DNS en amont de l’ALB
- Cloud Load Balancing — équivalent GCP (Global external Application LB)