Configuring and Testing Load Balancer in AWS EC2

MicroPyramid
2 min readOct 10, 2017

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.

The article was originally published at MicroPyramid blog.

--

--

MicroPyramid

Python, Django, Android and IOS, reactjs, react-native, AWS, Salesforce consulting & development company