Elastic Load Balancing (ELB) is a load-balancing service for Amazon Web Services (AWS) deployments. ELB automatically distributes incoming application traffic and scales resources to meet traffic demands.
ELB helps an IT team adjust capacity according to incoming application and network traffic. Users enable ELB within a single availability zone or across multiple availability zones to maintain consistent application performance.
Historically, load balancing divides the amount of work that a computer has to do among multiple computers so that users, in general, get served faster. ELB offers enhanced features including:
- Detection of unhealthy Elastic Compute Cloud (EC2) instances.
- Spreading instances across healthy channels only.
- Flexible cipher support.
- Centralized management of Secure Sockets Layer (SSL) certificates.
- Optional public key authentication.
- Support for both IPv4 and IPv6.
The most well-known service that relies on ELB is Amazon's EC2, as ELB performs a health check to ensure an instance is still running before sending traffic to it. When an instance fails or is unhealthy, ELB routes traffic to the remaining healthy EC2 instances. If all EC2 instances in a particular availability zone are unhealthy, ELB can route traffic to other availability zones until the original instances restore to a healthy state.
A developer can integrate Amazon Route 53 and domain name system (DNS) failover to further boost application resiliency. Route 53 can route traffic to another healthy ELB and fail over across AWS regions.
A developer can use AWS' Auto Scaling feature to guarantee he or she has enough EC2 instances running behind an ELB. The developer sets Auto Scaling conditions, and when a condition is met, a new EC2 instance can spin up to meet the desired minimum. A developer can also set a condition to spin up new EC2 instances to reduce latency.
ELB supports applications within an Amazon Virtual Private Cloud for stronger network security. An IT team can specify whether it wants an internet-facing or internal load balancer. The latter option enables a developer to route traffic through an ELB using private IP addresses. A developer could also route traffic between different tiers of an application by using multiple internet-facing and internal load balancers; this approach allows an IT team to use a security group along with private IP addresses while exposing only the web-facing tier and its public IP addresses.
In addition to certificate management, ELB allows SSL/Transport Layer Security (TLS) decryption.
Types of load balancers
ELB offers two different load balancer features, which help provide scalable cloud computing capacity. The Application Load Balancer handles advanced traffic routing from other services or containers at the application level, while the Classic Load Balancer spreads app or network traffic across EC2 instances.
Other vendors also offer tools to load balance workloads. ScaleBase offers an ELB solution with real-time elasticity, which simplifies the ability to scale the MySQL relational database management system (RDBMS) without requiring infrastructure changes or taking services offline.