Many organizations require the management and enhancement of the availability, scalability and fault tolerance of their applications. AWS offers the Elastic Load Balancencing service to help you find the best solution. This load balancer distributes workloads across multiple compute resource such as virtual servers.
Load Balancing allows you to set up health checks to monitor the health of your compute resources. You can also choose to offload encryption and decryption work to your load balancer, so your compute resources can concentrate on their main tasks. This is just a glimpse of the service. Keep reading the blog for a full overview. This article will give you a quick overview of Elastic Load Balancencing, its features and how to get started.
Overview of Elastic Load Balancing
Elastic Load Balancing is a service that automatically distributes incoming traffic across multiple Amazon EC2 instances. This allows you to achieve higher levels of fault tolerance by providing the required load balancing capacity for dispersing application traffic. Elastic Load Balancing can detect unhealthy instances and automatically redirect traffic to the healthy ones until the unhealthy instances are restored. Customers can enable Elastic Load Balancencing within one or more Availability Zones to ensure consistent application performance. This can also be used in an Amazon Virtual Private Cloud to distribute traffic between application tiers within a virtual network you describe.
What are the different types of load balancers?
There are four main load balancers in elastic load balancing:
1. Application Load Balancing
Application Load Balancingr is used to load balance HTTP and HTTPS traffic. It also provides advanced request routing that is targeted at the delivery modern application architectures such as containers and microservices. This route traffic to Amazon VPC targets based on the content of the request.
Some of the most important features are:
Depending on the request attributes, you can load balance HTTP/HTTPS for targets that include Amazon EC2 instances and microservices.
You can also create and manage security groups with Elastic Load Balancing when you use Amazon VPC. This provides additional security and networking options. You can also configure an Application Load Balancing to be Internet-facing, or create a load balancer without public IP addresses to serve as an internal load balancedr.
The Application Load Balancer, (ALB), supports AWS Outposts. This is a fully managed service that allows you to extend AWS infrastructure, services and tools to any data center, colocation space or on-premises facility. It provides a consistent hybrid experience.
Fourth, the load balancer supports HTTPS termination between clients and load balancers. Application Load Balancing also offers management of SSL certificates via AWS Identity and Access Management, (IAM), and AWS Certificate Manager.
Finally, you can create an HTTPS listener that uses encrypted connections. This feature allows you to enable traffic encryption between your loadbalancer and clients by initiating SSL/TLS sessions.
2. Network Load Balancing
Network Load Balancing is used to balance load of:
Transmission Control Protocol (TCP).
User Datagram Protocol (UDP).
Transport Layer Security (TLS).
It also directs traffic towards Amazon VPC destinations, which can handle millions of requests per minute while maintaining extremely low latency.
The following are some of the key features:
Firstly, loadbalancing both TCP/UDP traffic can be done by routing connections to targets such as Amazon EC2 instances and microservices like containers.
Second, client TLS session termination is supported. This allows you to offload TLS session termination tasks to the loadbalancer while keeping the source IP address for back-end applications. You can also choose from predefined security policies to protect your TLS listeners and meet compliance and security standards.
It also offers sticky sessions. This refers to the ability to route requests from the same client to a single target.
Fourth, Network Load Balancer offers extremely low latency for latency-sensitive apps.
It then preserves the client’s source IP by allowing access to the back end for viewing the client’s IP address.
Network Load Balancing automatically assigns a static IP to each Availability Zone that applications use as the front-end IP for the load balancer.
It also allows you to assign an Elastic IP per availability zone, thereby giving you your own fixed IP.
3. Gateway Load Balancing
Gateway Load Balancing allows you to deploy, scale, and run third-party virtual networking appliances. This allows for load balancing and auto scaling of third-party appliances. Gateway Load Balancer can be used with third-party appliances to provide security and network analytics.
Some of the most important features are:
Gateway Load Balancer is compatible with AWS Auto Scaling groups. It allows you to set target utilization levels for virtual appliance instances.
They also ensure high availability and reliability by routing traffic using healthy virtual appliances and rerouting flows if a virtual appliance becomes sick. Gateway Load Balancer performs health checks on each instance of virtual appliances on a configurable cadence.
Third, you can monitor Gateway Load Balancingr using CloudWatch per availability Zon