Types of Elastic Load Balancers in aws
There are three types of load balancers available. You can use the one that best fits your use case.
1. Classic Load Balancer (CLB)
Once configured, it distributes the load across all the registered instances regardless of what is present on the servers. it doesn’t support features like host-based routing or path-based routing
Hence, it can only be used to distribute traffic to a single URL.
2. Application Load Balancer (ALB) aws
This load balancer is specially designed for web applications with HTTP and HTTPS traffic.This load balancer works at this Application Layer, hence the name.
It also provides advanced routing features such as host-based and path-based routing and also works with containers and microservices.
Suppose you have two websites openthecloud.com and admin.openthecloud.com. Each website is hosted on two EC2 instances for high availability and you want to distribute the incoming web traffic between them.
If you were using the CLB you would have to create two load balancers, one for each website.
But you can do the same thing using a single ALB!
Hence you will be saving money as you will only be paying for a single ALB instead of two CLBs
Ex: cloud.google.com, gmail.google.com
Suppose the website of your company is openthecloud.com and the company’s blog is hosted on openthecloud.com/blog. The operations team has decided to host the main website and the blog on different instances.
Using ALB you can route traffic based on the path of the requested URL. So again a single ALB is enough to handle this for you.
3. Network Load Balancer (NLB) aws
This load balancer operates at the Network layer of the OSI model, hence the name.
Suppose your company’s website is running on four m4-xlarge instances and you are using an ALB to distribute the traffic among them.
Now your company launched a new product today which got viral and your website starts to get millions of requests per second.
In this case, the ALB may not be able to handle the sudden spike in traffic.
This is where the NLB really shines. It has the capability to handle a sudden spike in traffic since it works at the connection level.
It also provides support for static IPs.
2. Application Load Balancer (ALB) Demo in aws
sudo apt-get update -y
sudo apt-get install apache2 unzip -y
echo ‘<html><center><body bgcolor=”black” text=”#39ff14″ style=”font-family: Arial”>
<h1>Load Balancer Demo</h1><h3>Availability Zone: ‘ > /var/www/html/index.html
curl http://169.254.169.254/latest/meta-data/placement/availability-zone >> /var/www/html/index.html
echo ‘</h3> <h3>Instance Id: ‘ >> /var/www/html/index.html
curl http://169.254.169.254/latest/meta-data/instance-id >> /var/www/html/index.html
echo ‘</h3> <h3>Public IP: ‘ >> /var/www/html/index.html
curl http://169.254.169.254/latest/meta-data/public-ipv4 >> /var/www/html/index.html
echo ‘</h3> <h3>Local IP: ‘ >> /var/www/html/index.html
curl http://169.254.169.254/latest/meta-data/local-ipv4 >> /var/www/html/index.html
echo ‘</h3></html> ‘ >> /var/www/html/index.html