Amazon Elastic Load Balancing (ELB) Overview

A load balancer is a device that acts as a reverse proxy and distributes network or application traffic across a number of servers. Load balancers are used to increase capacity (concurrent users) and reliability of applications. 

Amazon Elastic Load Balancing (ELB) automatically distributes incoming application traffic across multiple EC2 instances. ELB also automatically scales its request handling capacity to meet the demands of application traffic. 

Amazon ELB supports two types of load balancers: Application Load Balancers (new) and Classic Load Balancers.

 

Application Load Balancers

An Application Load Balancer operates at the application layer (HTTP/HTTPS layer 7).

Application Load Balancer allows you to define routing rules based on content across multiple services or containers running on one or more EC2 instances.

It supports path-based routing.

 

Application Load Balancer Features

  1. Content-Based Routing

    1. Based on the content of the request.

  2. Host-based Routing

    1. Based on Host field of the HTTP header.

  3. Path-based Routing

    1. Based on the URL path of the HTTP header.

  4. Containerized Application Support

    1. to load balance containers across multiple ports on a single EC2 instance.

    2. ECS allows you to specify a dynamic port in the ECS task definition, giving the container an unused port when it is scheduled on the EC2 instance. The ECS scheduler automatically adds the task to the ELB using this port.

  5. HTTP/2 Support

  6. WebSockets Support

  7. Native IPv6 Support

    1. Support IPv6 in a VPC. This will allow clients to connect via IPv4 or IPv6.

  8.  Sticky Sessions

    1. Supports sticky sessions using load balancer generated cookies.

    2. Stickiness is defined at a target group level.

  9. Health Checks

    1. Routes traffic only to healthy targets. 

  10. High Availability

    1. Requires you to specify more than one AZ.

    2. Automatically scales its request handling capacity in response to incoming application traffic.

  11. Security Features

    1. When using Amazon VPC, you can create and manage security groups associated with ELB to provide additional networking and security options.

    2. You can configure an Application Load Balancer to be Internet facing or create a load balancer without public IP addresses to serve as an internal (non-Internet-facing) load balancer.

  12. Layer-7 Load Balancing

    1. You can load balance HTTP/HTTPS applications and use layer 7-specific features, such as X-Forwarded-For headers.

  13. HTTPS Support

    1. Supports HTTPS termination between the clients and the load balancer. Application load balancers also offer management of SSL certificates through IAM and AWS Certificate Manager for pre-defined security policies.

  14. Operational Monitoring

    1. CloudWatch reports metrics such as request counts, error counts, error types, and request latency.

  15. Logging


    1. You can use the Access Logs feature to record all requests sent to your load balancer, and store the logs in Amazon S3 for later analysis.

    2. You can also use AWS CloudTrail to record Application Load Balancer API calls for your account and deliver log files.

  16. Delete Protection

  17. Request Tracing

    1. injects a new custom identifier “X-Amzn-Trace-Id” HTTP header on all requests coming into the load balancer.

    2. Allows you to track a request by its unique ID.

  18. Web Application Firewall

    1. Can now use AWS WAF to protect your web applications on your Application Load Balancers. 

 

Classic Load Balancers

A Classic Load Balancer makes routing decisions at either the transport layer (TCP/SSL layer 4) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC.

For applications needing advanced routing capabilities, microservices, or container-based architectures, Amazon recommend the Application load balancer.

 

Classic Load Balancer Features

  1. High Availability 

  2. Health Checks

  3. Security Features

    1. Similar to Application Load Balancers.

  4. SSL Offloading

    1. Support SSL termination, including offloading SSL decryption from application instances, centralized management of SSL certificates, and encryption to back-end instances with optional public key authentication.

    2. Flexible cipher support allows you to control the ciphers and protocols the load balancer presents to clients.

  5. Sticky Sessions

  6. IPv6 Support

    1. Support the use of both IPv4 and IPv6.

    2. IPv6 support is currently unavailable for use in VPC.

  7. Layer 4 or Layer 7 Load Balancing

  8. Operational Monitoring, Logging

 

Important Notes (Exam Tips)

  1. Unlike EC2, where you have DNS and public IP, with ELB you will get only DNS. IP resolution is managed by AWS.

  2. Elastic Load Balancing provides integrated certificate management and SSL decryption allowing you to centrally manage the SSL settings of the load balancer and offload CPU intensive work from your instances.

  3. Elastic Load Balancing also integrates with AWS Certificate Manager to make it easy to enable SSL/TLS for your site or application.

  4. Elastic Load Balancer can have multiple SSL certificates.

Learn Serverless from Serverless Programming Cookbook

Contact

Please first use the contact form or facebook page messaging to connect.

Offline Contact
We currently connect locally for discussions and sessions at Bangalore, India. Please follow us on our facebook page for details.
WhatsApp (Primary): (+91) 7411174113
Phone (Escalations): (+91) 7411174114

Business newsletter

Complete the form below, and we'll send you an e-mail every now and again with all the latest news.

About

Cloudericks.com is my blog to share notes and learning materials on Cloud and Data Analytics. My current focus is on Amazon Web Services.

I like to write. I try to document what I learn and share with others. I believe that knowledge is useless unless you share it; the more you share, the more you learn.

Recent comments

Photo Stream