Application Load Balancer (ALB)
- What it is
- Layer 7 (HTTP/HTTPS) load balancer. Understands the content of the request, not just the connection.
- The default choice for web applications, microservices, and containers.
- Content-based routing
- Routes on path (
/api/*→ one target group,/images/*→ another). - Routes on host header (
shop.example.comvsblog.example.com), HTTP method, query string, source IP, and custom headers. - This is the capability Network Load Balancer (NLB) fundamentally cannot provide — it never sees the HTTP layer.
- Routes on path (
- Target types
- EC2 instances, IP addresses, AWS Lambda functions, and ECS tasks (dynamic port mapping, so many containers per host).
- Other features
- Built-in authentication via Amazon Cognito or OIDC before traffic reaches your app.
- Native integration with AWS WAF — NLB has none.
- TLS termination with free certificates from AWS Certificate Manager (ACM).
- Sticky sessions, health checks per target group, HTTP/2 and gRPC, redirects and fixed responses.
- Trade-offs
- Higher latency than NLB (milliseconds, not microseconds) because it parses and re-forms the request.
- DNS name only — no static IP. Front it with AWS Global Accelerator if clients need fixed IPs to allowlist.
- See also
- load balancers for the family overview.