Let’s get a quick overview of Elastic Load Balancers from an AWS certification perspective. We will look at important certification questions regarding Elastic Load Balancers - Application Load Balancer vs Network Load Balancer vs Classic Load Balancer (ALB vs NLB vs CLB).
You will learn
- What are the different Elastic Load Balancers offered by AWS?
- How do they compare - Application Load Balancer vs Network Load Balancer vs Classic Load Balancer (ALB vs NLB vs CLB)?
- How do you choose - Application Load Balancer vs Network Load Balancer vs Classic Load Balancer (ALB vs NLB vs CLB)?
AWS Certification Study Material and Notes - 25 PDF Cheat Sheets
Each cheat sheet contains:
- FAQs and Tutorials with 5-20 slides
- Study Material and Notes to quickly review and prepare for certification exam
- Certification Exam Tips
- Certification and Interview Scenario Questions
ALB vs NLB vs CLB - Overview
There are three important types of Load Balancers offered by AWS:
- Application Load Balancer (ALB)
- Network Load Balancer (NLB)
- Classic Load Balancer (CLB)
Classic Load Balancer are the older versions of Load Balancers. Application Load Balancer (ALB) and the Network Load Balancer (NLB) are the newer versions.
ALB vs NLB vs CLB - Comparison
Here’s a table comparing the features of different load balancers. You can find details about these features below the table.
|Feature||Application Load Balancer||Network Load Balancer||Classic Load Balancer|
|Version||New v2||New v2||Old v1|
|Use cases||Web apps, microservices & containers||Extreme performance - millions of requests with less latency (100ms)||Avoid if possible. Not recommended by AWS.|
|Protocols Supported||HTTP, HTTPS (Layer 7)||TCP, UDP, TLS (Layer 4)||TCP, SSL/TLS, HTTP, HTTPS(Layer 4 & 7)|
|Dynamic Host Port Mapping||✓||✓|
|Cross-zone load balancing||✓(Always Enabled)||✓(Default Disabled)||✓(Default Disabled)|
|Server Name Indication (SNI)||✓||✓|
|Elastic IP address||✓|
|Preserve Source IP address||✓|
|IP addresses as targets||✓||✓ (TCP, TLS)|
|Source IP address range (CIDR) based routing||✓|
|Path(Route) Based Routing||✓|
|Lambda functions as targets||✓|
|HTTP header-based routing||✓|
|HTTP method-based routing||✓|
|Query string parameter-based routing||✓|
Elastic Load Balancer Terminology
Here is some of the important terminology referred to in the above table:
- Connection draining - Before an instance is terminated, requests in execution are given time to complete (deregistration_delay.timeout_seconds)
- Dynamic Host Port Mapping - Useful with containers. Two instances of the same task can be running on the same ECS container instance
- Cross-zone load balancing - Distribute load between available instances in multiple AZs in One Region
- Sticky sessions - Send requests from same user to same instance (cookies with configurable expiration - Stickiness duration default - 1 day)
- Preserve Source IP address - Allows instances to know where the request is coming from
- WebSockets - Allows full-duplex communication over a single TCP connection
- Source IP range (CIDR) based routing - Redirect to different targets based on the Source CIDR block
- Path(Route) Based Routing - Send traffic to different targets based on the path of the request
- Query string parameter-based routing - /user?target=target1 vs /user?target=target2
- Server Name Indication (SNI) - Support multiple websites with different SSL certificates with one Load Balancer