Sumo Logic ahead of the packRead article
Complete visibility for DevSecOps
Reduce downtime and move from reactive to proactive monitoring.
Amazon Web Services' Elastic Load Balancer (AWS ELB) integrates seamlessly with Amazon's other cloud services. AWS ELB spins up new ELB instances without manual intervention to meet high-demand periods and scales them back in off-peak hours to get the most out of your IT budget.
For years network architects relied on physical hardware known as load balancers to divvy network traffic to multiple physical servers and ensure a fast user experience. Today, in hybrid and native cloud-based infrastructures, virtual devices known as elastic load balancers replace their physical forerunners and scale your network automatically as demand ebbs and flows. When an organization allocates more than one server to handle requests for a website or business application, a load balancer distributes requests between them. The purpose of a load balancer is to spread requests between a group of servers, preventing any individual server from becoming overloaded with requests.
Below is a brief overview of working with AWS ELB and intelligently managing the mountains of web access requests or REST API requests to serve even if the servers from the web cluster have failed. AWS ELB balances the traffic evenly by balancing the load between multiple servers. In the event of a server failure, it sends the request to the working instances of web servers by rerouting the request that the non-responsive server might have received.
In addition to plain old faster workflow and user experience, AWS ELB can enable powerful performance improvements. Some benefits of applying load balancing across your AWS environment:
AWS ELB works with a secure socket layer and certificates to encrypt traffic between the load balancer and the client via HTTPS connection. AWS ELB is the end of the line for incoming traffic, which must pass strict checks against access control lists (ACLs) before moving on to EC2 instances and hosted resources. AWS ELB replicates routing table rules in real-time with ELB autoscaling, greatly simplifying dynamic enterprise security.
AWS ELB can assign a user session to a particular instance with the "stickiness" configuration. The session can be sticky for a time specified in the ELB cookie and served by itself or matched to the application cookie. The ELB cookie controls the application developer when matched with the application cookie.
Dynamic load distribution
Set parameters for latency tolerance, and your AWS ELB will do the rest. For instance, ELB can monitor your response metrics and deploy one or many more instances of resources to ensure they remain readily available to users worldwide, no matter how heavy the network traffic is.
Here's a look at the two distinct methods of elastic load balancing Amazon utilizes.
Elastic Load Balancing works with the following services to improve the availability and scalability of your applications.
Amazon EC2 is a virtual server that runs your applications in the cloud. You can configure your load balancer to route traffic to your Amazon EC2 instances.
Amazon EC2 Auto Scaling runs your desired number of instances, even if an instance fails. Amazon EC2 Auto Scaling also enables you to automatically increase or decrease the number of instances as the demand for your instances changes.
An Auto Scaling group contains a collection of EC2 instances treated as a logical grouping for automatic scaling and management purposes. If you enable Auto Scaling with Elastic Load Balancing, it automatically registers instances with the load balancer. Instances terminated by Auto Scaling are automatically de-registered from the load balancer.
AWS Certificate Manager allows you to specify certificates provided by ACM when you create an HTTPS listener. The load balancer uses certificates to terminate connections and decrypt requests from clients.
Amazon CloudWatch monitors your load balancer and takes action as needed.
Amazon ECS: Run, stop and manage Docker containers on a cluster of Amazon EC2 instances. You can configure your load balancer to route traffic to your containers.
AWS Global Accelerator improves the availability and performance of your application. Use an accelerator to distribute traffic across multiple load balancers in one or more AWS Regions.
Amazon Route 53 routes visitors to websites by translating domain names into the numeric IP addresses that computers use to connect a load balancer. You can map your domain name to a load balancer.
AWS WAF and AWS Application Load Balancer allow or block requests based on the rules in a web access control list (web ACL). For more information, see the AWS WAF Developer Guide.
In cloud environments, the days of physical load balancers are long gone. AWS Elastic Load Balancing supports the following load balancers: AWS Application Load Balancer, AWS Network Load Balancer, and Classic Load Balancer. Amazon ECS services use these types of load balancers. An Application Load Balancer routes HTTP/HTTPS (or Layer 7) traffic. Network Load Balancer and Classic Load Balancer route TCP (or Layer 4) traffic.
The AWS load balancer comes in two distinct types of virtual load balancing to fine-tune your application performance. These include:
Both types of load balancing offer improved availability and a wealth of logging data you can use for deep insights and real-time analytics about your operations. You can use the logs in AWS ELB to track metrics, such as:
Chart traffic globally and at the resource level to know what users need and when they need it—surge queue length. If requests stack up faster than resources can process, AWS ELB puts them in a queue and takes them as compute power becomes available. This count lets you know how often and how many requests have to wait in line.
Know if resources in specific availability zones are performing poorly and, if necessary, create new instances in nearby zones to handle the traffic. With cross-zone load balancing, each load balancer node for your Classic Load Balancer distributes requests evenly across the registered instances in all enabled Availability Zones. If cross-zone load balancing is disabled, each load balancer node distributes requests evenly across the registered instances in its Availability Zone only.
These and other metrics can be monitored and configured to trip alarms through built-in logging capabilities.
Amazon's Classic and application load balance solutions integrate directly with Amazon Cloudwatch and Cloudtrail to provide consistent, current data on the nitty-gritty details of how your network is performing, who is visiting, and what they're doing. Sumo Logic provides an integration for AWS Elastic Load Balancing to optimize your ELB configuration with visual log analytics. Learn more about leveraging proactive analytics and visualization for actionable operations forensics.
Reduce downtime and move from reactive to proactive monitoring.