When You have an application that is serving Huge Customer Base, so will be your Traffic. Sometimes The Application stops responding. We can use Load Balancer in cases like this which distribute the Traffic it receives between the multiple VPS running the same application.

Deploying and Configuring EC2-Instances:

Load Balancers are region specific, so you have to deploy all the applications in the same region. When running a Load Balancer configuration you set Load balancer for instances and not their IP Addresses, So you don't need to assign them with Elastic IPS and you can stop add and remove instances anytime from Load Balancers.  So Deploy Instances accordingly and Configure your application. 

To Demonstrate Load Balancing I will create  3 VPS setup and install Nginx using 

apt-get install nginx

now VPS port 80 will display Nginx welcome page. 

Configuring Load Balancer:

In EC2 Services sidebar, Click Load Balancing --> Load Balancer.  Then click on the Create Load Balancer.

 Select a Name, the port to be exposed(80/443) and the Port the incoming traffic is to be redirected. Then Select Instances which host the same application and tag them if needed.

Create a Load Balancer with the above bare configuration and customize as per your requirements, wait for health to turn Green. You can find Load Balancer URL in Load balancer Properties. 

Opening Load Balancer URL in the browser will display Nginx welcome page. (served by 1 of 3 vps endpoints).

Testing the Setup:

To test the setup install apache-utils which also has Apache Benchmark package that we will use for Load Testing

sudo apt-get install apache-utils
ab -n < number-of requests> http(s)://<loadbalancer-url>/

Now you can ssh into individual instances and check the Nginx log count.

wc - l /var/log/nginx/access.log

All three servers will have entries suggesting Load Balancer setup is successful.

 

Subscribe To our news letter

Subscribe to our news letter to receive latest blog posts into your inbox. Please fill your email address in the below form.
*We don't provide your email contact details to any third parties
Latest Comments
Related Articles
How to Mount S3 Bucket on Local Disk Dinesh Deshmukh

It all starts with FUSE, FUSE is File System User Space. Operating Systems have Kernel Space and User Space. Kernel Space is where low level ...

Continue Reading...
Django Hosting on Amazon EC2 with wordpress on same domain Jagadeesh V

Configuring the Wordpress as subdirectory can be tricky. In this tutorial we will Setup a Django Website alongside a wordpress blog.

Continue Reading...
How to access EC2 instance even if pem file is lost Dinesh Deshmukh

Accessing the EC2 instance even if you loose the pem file is rather easy.

1. First, create a new instance by creating new access ...

Continue Reading...