AWS Elastic Load Balancing
AWS
Cloud has firewalls, load balancers, WAF and many other
interesting services which can be used easily and freely for the
first year or paying as we use. I work with Load
Balancers from time ago and AWS Elastic Load Balancing is an
Amazon Service I’m working on right now. I have already talked
about the Benefits
of Layer 7 Load Balancing such as making decisions based in
requests and responses of applications, modifying data in transit,
redirecting, showing messages, caching, compression, encrypting as
well as better availability and performance.
AWS
Elastic Load Balancing (ELB) is not like a traditional load balancing
appliance because I don’t know whether it supports MultiPath
TCP, SACK,
Nagle’s
Algorithm, Long
Fat Networks, prevents
Web Scraping, etc but AWS ELB is enough for most companies.
For instance, we can use AWS Application Load Balancer (ALB) for HTTP
and/or HTTPS load balancing which also supports WebSockets
and HTTP/2,
path-based routing, health checks customization, SSL Offloading as
well as integration with other AWS Services like AWS Certificate
Manager (ACM), Amazon CloudWatch, AWS WAF, AWS CloudFormation, Amazon
CloudFront, etc, etc, etc.
Comparison of Elastic Load Balancing Products |
When we
configure AWS ALB, we always have to choose at least two Availability
Zones (AZ) to increase the fault tolerance of our applications.
Therefore, Amazon recommends to have the same amount of EC2 instances
in each AZ to distribute incoming application traffic across multiple
zones. As a result, if one Availability Zone becomes unavailable, the
load balancer can continue to route traffic to another Availability
Zone.
AWS ELB + Web App + Multi-AZ |
What we
know as real servers at Radware or nodes at F5 BIG-IP, Amazon call
them as Targets, which are EC2 instances with listening ports.
In addition, we should configure our own custom health checks to
route incoming traffic to healthy instances thus unhealthy instances,
which application is not behaved properly, are not used by AWS ELB
till they are alive again. What’s more, Stickness can be also
configured into Targets to bind a client’s session to a specific
instance within the target group.
Path-and Host-Based Routing |
On the
other hand, what we know as virtual servers at F5 BIG-IP, Amazon call
them as Listeners, which are a set of protocol and port as
well as the default target group to route requests to the targets in
that default target group. Furthermore, if we choose HTTPS protocol
into the listener, we can upload our own SSL Certificate or we can
also use AWS Certificate Manager (ACM) to provision, manage, deploy
and renew SSL Certificates.
AWS ELB Architecture |
Eight
years ago, I read, for the first time, about AppDirector
and vDirect
from Radware which allow us to create virtual machines automatically
as services have more and more connections. As a result, virtual
machines are powered on and powered off automatically when we need
more resources and this is integrated into the load balancing to
distribute traffic properly. This is what Auto Scaling can
also do for us along with AWS Elastic Load Balancing.
AWS Auto Scaling |
To sum up, we have today a reliable platform into AWS Cloud with lots of services where we can deploy our applications easily and inexpensively.
Regards
my friends and keep studying!!
Commentaires
Enregistrer un commentaire