Please enable JavaScript.
Coggle requires JavaScript to display documents.
AWS ELB Types - Coggle Diagram
AWS ELB Types
Application - ALB
Supports
HTTP & HTTPS (Layer 7)
HTTP/2 & WebSocket
Redirection from HTTP to HTTPS
Routing tables
Based on path in URL
example.com/
users
example.com/
posts
Based on the hostname in URL
other.example.com
one.example.com
Based on Query Strings or headers
example.com/users?
id=123&order=false
Allow to route to multiple HTTP applications across machines (target groups)
Allow to load balancing to multiple applications on the same machine (containers)
Great for
Micro services
Container-based applications
Docker
Amazon ECS
Has a port mapping feature to redirect to a dynamic port in ECS
We would need multiple classic load balancers to cover a single Application load balancer functionality.
Target Groups
Can be
ECS taks
Managed by ECS itself
Lambda functions
HTTP request is translated into a JSON event
EC2 Instances
Can be managed by an Auto Scaling Group
IP Addresses
Must be private IPs
ALB can route to multiple target routes
Health checks are at the Target group level
Good to know
ALB is assigned a fixed hostname (xxx.region.elb.amazonaws.com)
The application servers don't see the IP of the client directly
The true IP of the client is inserted in the header
X-Forwarded-For
We can also get
X-Forwarded-Port
X-Forwarded-Proto
Network - NLB
Works at Layer 4
Forwards TCP & UDP traffic to your instances
Lower level
Handle millions of requests per second
Less latency 100ms vs 400ms for ALB
Used for extreme performance, TCP or UDP
Has one
static IP
whereas ALB has static hostname
Supports assigning an
Elastic IP
Servers see the client IP and information directly
Classic - CLB
Supports
TCP (Layer 4)
HTTP & HTTPS (Layer 7)
Health Checks
HTTP
TCP
Fixed hostname