Arch_Elastic Load Balancing_64 imageIcon source: AWS
CLOUD SERVICE · AWS

Elastic Load Balancing (ELB)

Elastic Load Balancing (ELB) is a service provided by Amazon Web Services (AWS) that automatically distributes incoming application traffic across multiple targets, such as EC2 instances, containers, and IP addresses, to ensure fault tolerance and scalability.

Cloud Services Hub →

What is Elastic Load Balancing (ELB)

Read the extensive description

Elastic Load Balancing (ELB) is a pivotal service offered by Amazon Web Services (AWS) that automatically distributes incoming application traffic across multiple targets, such as Amazon EC2 instances, containers, IP addresses, and Lambda functions, among others. This service is designed to enhance the availability and scalability of an application by ensuring that no single server bears too much demand. By balancing the load, ELB helps in handling the varying load of your application traffic in a robust and seamless manner. ELB is not just about distributing load but also about ensuring that your application can provide a consistent and reliable user experience. 

 

ELB offers various types of load balancers that cater to different use cases. The Application Load Balancer (ALB) is ideal for HTTP and HTTPS traffic, providing advanced request routing targeted at the delivery of modern application architectures, including microservices and containers. Network Load Balancer (NLB) is best suited for TCP, UDP, and TLS traffic where extreme performance and static IP is required for the load balancer. Lastly, the Classic Load Balancer (CLB) is intended for applications that were built within the EC2-Classic network. 

 

One of the significant benefits of using ELB is its ability to automatically adapt to the changing traffic patterns. With ELB, you don't need to provision your infrastructure to handle peak loads. ELB automatically scales its request handling capacity in response to incoming application traffic. Hence, it ensures that your application remains available and performs well even during unexpected surges in demand. 

 

ELB also enhances the security posture of your application by integrating with AWS Certificate Manager (ACM) easily, allowing you to deploy SSL/TLS certificates on your load balancer and encrypt data in transit effortlessly. Furthermore, it supports security features like AWS WAF (Web Application Firewall), which can protect your applications from common web exploits. The health check feature of ELB automatically checks the health of the instances or containers it is forwarding traffic to and ensures that the traffic is only directed to the healthy ones. This ensures high availability and fault tolerance in your application architecture. 

 

Monitoring is another critical aspect where ELB excels. It integrates with Amazon CloudWatch, providing metrics and logs that give insights into the traffic patterns and performance of your applications. This data is instrumental in making informed decisions regarding capacity planning, optimization, and understanding user behavior.

 

In conclusion, Elastic Load Balancing stands as a sophisticated solution for distributing incoming application or website traffic across multiple targets, ensuring high availability, and facilitating a smoother and secure user experience. Its ability to scale and adapt to traffic variations in real-time, coupled with robust security and monitoring features, makes it an indispensable tool in the arsenal of developers and organizations aiming to optimize their applications' performance and reliability on the cloud.

Key Elastic Load Balancing (ELB) Features

Elastic Load Balancing ensures high availability by automatically distributing traffic across multiple targets, scaling based on demand, performing health checks, offering strong security features, providing in-depth monitoring, and delivering flexibility through various balancer types.

High Availability

Elastic Load Balancing automatically distributes incoming application or network traffic across multiple targets, such as EC2 instances, containers, and IP addresses, across one or more Availability Zones, ensuring high availability and fault tolerance for your applications.

Automatic Scaling

ELB scales its request handling capacity in response to incoming application traffic, meaning it automatically adjusts to handle the load without manual intervention, ensuring your applications can maintain performance during demand spikes and drops.

Health Checks

ELB continuously performs health checks on registered targets, automatically routing traffic away from unhealthy instances and towards healthy ones, enhancing the reliability and availability of your applications.

Security Features

Elastic Load Balancing supports security features such as SSL/TLS termination, which offloads the SSL decryption work from the application instances to the load balancer, improving security and performance. It also works seamlessly with AWS Certificate Manager for easy SSL certificate management.

Operational Monitoring and Logging

ELB provides detailed request-level logging and integrates with Amazon CloudWatch for metrics and analytics, enabling you to monitor and analyze the performance and health of your applications.

Flexible Load Balancer Types

Elastic Load Balancing offers three types of load balancers (Application Load Balancer, Network Load Balancer, and Classic Load Balancer) that can be used in different scenarios depending on the requirements of latency, throughput, or TCP connections.

Elastic Load Balancing (ELB) Use Cases

Elastic Load Balancing (ELB) enhances application availability and fault tolerance, supports auto-scaling, ensures secure applications via SSL/TLS offloading, adeptly handles unpredictable traffic spikes, and offers multi-protocol support for diverse application needs.

High Availability and Fault Tolerance

ELB efficiently distributes incoming application traffic across multiple targets, such as Amazon EC2 instances, containers, IP addresses, and Lambda functions, in multiple Availability Zones. This distribution ensures that only healthy targets receive traffic, enhancing the application's overall availability and fault tolerance.

Auto Scaling Support

ELB seamlessly integrates with Auto Scaling, automatically adjusting the load balancing capacity to match the load with the number of instances available. This ensures that the application can maintain performance and promptly handle increases or decreases in traffic without manual intervention.

Secure Applications

ELB offers built-in security features like SSL/TLS termination, which enables it to decrypt requests before sending them on to the application's back-end targets. This use case helps in offloading the encryption and decryption work from the application, simplifying compliance and security management.

Handling Spiky Traffic Patterns

ELB is designed to handle sudden spikes in traffic, automatically scaling its resources to meet demand without the need for manual configuration. This capability is crucial for applications experiencing unpredictable traffic patterns or those subjected to time-based traffic patterns, such as event-driven traffic spikes.

Multi-protocol Support

Elastic Load Balancing supports multiple protocols including HTTP, HTTPS, TCP, and UDP. This flexibility enables developers to build applications that require real-time communication as well as applications that need traditional request-response protocols, ensuring that ELB can be used for a wide range of applications.

Elastic Load Balancing (ELB) pricing models

ELB pricing involves charges based on the type of load balancer (Classic, Application, Network, Gateway) with costs calculated on Load Balancer hours, Load Balancer Capacity Units (LCUs), or Data Processing Units (DPUs), depending on the service, and varies by region.

Application Load Balancer

Pricing is determined by the number of Load Balancer Capacity Units (LCUs) consumed, based on new connections, active connection time, processed bytes, and rule evaluations. Additionally, there's a charge for the number of Load Balancer-hours and the processed LCU-hour.

Classic Load Balancer

Charges are based on the number of Load Balancer Capacity Units (LCUs) used, which is a combination of new connections, active connections, processed bytes, and rule evaluations. Pricing also varies by region.

Gateway Load Balancer

Gateway Load Balancer pricing includes charges for Gateway Load Balancer-hours and the data processing units (DPUs) consumed. The cost varies by region and involves charges for processed bytes and the duration of connection.

Network Load Balancer

Billing is calculated on the number of Network Load Balancer (NLB) hours and the number of Load Balancer Capacity Units (LCUs) used, focusing on new connections, active connections, processed bytes, and rule evaluations. Cost also depends on the region.

Services Elastic Load Balancing (ELB) integrates with

Amazon EC2 image Amazon EC2

Routes incoming traffic to Amazon EC2 instances, distributing load and improving fault tolerance across multiple instances.

Open Amazon EC2 →