Elastic Load Balancing enables distribution of incoming traffic across multiple targets (such as EC2, Containers, or IP Addresses) to achieve performance, or to achieve other defined goals (such as distributing traffic in certain proportions).

 

Key Points for Elastic Load Balancing

  • ELB service is designed to offer highly availability, automatic scaling and security.
    • Integrates well with Auto Scaling to provide even more High Availability and Fault Tolerance
  • ELB can handle traffic within single AZ, or across multiple AZs (within the same Region).
  • ELB can be public-facing (e.g., for traffic coming from internet), or internal-facing (e.g., load balancing for data from web servers to database servers)
    • ELB has its own DNS thus enabling direct access from the internet
  • ELB supports Health Checks and can thus route traffic only to healthy targets
  • TLS Termination / SSL off-loading – ELB provides integrated certificate management and SSL/ TLS decryption, allowing you to offload such encryption / decryption processing at ELB and save application / web server from such CPU intensive work.
  • ELB integrates well with CloudWatch to allow monitoring.

 

ELB offers three types of Load Balancers:

  1. Application Load Balancer (ALB)
  2. Network Load Balancer (NLB)
  3. Classic Load Balancer (CLB)

 

Application Load Balancer (ALB) Application Load Balancer

  • Operating at Layer 7 (of OSI Model), it provides advanced request routing
  • Best suited for HTTP and HTTPS traffic load balancing
  • Supports traffic load balancing to targets like EC2, Containers, IP addresses, and Lambda functions.
  • Supports Sticky Sessions (Session-aware load balancing)
  • Supports SNI by holding multiple security certificates

 

Network Load Balancer (NLB) Network Load Balancer

  • Best suited for traffic at TCP, UDP and TLS level.
  • Targets IP addresses much better than ALB
  • Operating at Layer 4 (of OSI Model), it is capable of ultra-performance – millions of requests per second with ultra-low latency
  • It is (compared to ALB / CLB) much more capable of handling sudden and volatile traffic

 

Classic Load Balancer (CLB) Classic Load Balancer

  • It is a legacy Load Balancer, and meant to be used with EC2-Classic
  • Supports simple load balancing (compared to ALB)
  • Only one certificate per CLB
  • AWS recommends to avoid using CLB in new architectures

 

 


Comparison of three Load Balancers:

AWS Elastic Load Balancers Comparison

 


Pricing

Elastic Load Balancers are billed for following components, by each type:

Application Load Balancer (ALB)

  • Charged for each hour or partial hour ALB is running
  • Number of Load Balancer Capacity Units (LCU) used per hour

Network Load Balancer (NLB)

  • Charged for each hour or partial hour ALB is running
  • Number of Load Balancer Capacity Units (LCU) used per hour

Classic Load Balancer (CLB)

  • Charged for each hour or partial hour ALB is running
  • Per each GB of data transferred through CLB

 


External Resources