Using Elastic IPs with Amazon EC2 cloud-based load engines - Web Performance
Menu

Using Elastic IPs with Amazon EC2 cloud-based load engines

Amazon’s Elastic IPs provide an easy way to assign a fixed IP address to cloud-based load engines – which would typically have a different IP address each time one is created.

Why do I need cloud engines to have a fixed IP address?

Having fixed IP addresses for the load engines used for load testing can solve two problems:

  1. Allow Load Tester to connect to cloud engines through restrictive firewalls
  2. Allow traffic from the load engines through a firewall for testing non-public websites

In case #1, it is not uncommon for firewalls to restrict outgoing connections to, for example, only connect to port 80. Load Tester communicates with the load engines using ports 1099 and 1100. Network administrators may be willing to relax these rules, but only for specific IP addresses.

Case #2 is common when the convenience of cloud-based load generation is preferred but the web application is not yet public (or will never be). Thus, access to the application might be allowed through the firewall but for security reasons, this will be restricted to a known set of IP addresses.

As many have already discovered, the easy solution is to get fixed IP addresses from Amazon (called Elastic IPs) and assign them to the Load Engine via the AWS Console. Doing this allows you use the same IP address(es) over and over with different cloud load engines. Sounds perfect, right?

Not so fast, my friend! When you assign the Elastic IP, the Load Engine software running on the instance has already queried the IP address and is listening on that address. It does not know that the address has changed. In addition,  Load Tester has already determined what IP address the engine has been assigned and is communicating with it using that address. So immediately after assigning the Elastic IP address to the load engine, Load Tester will be unable to communicate with the cloud engine. Two steps are required to remedy this situation:

  1. Reboot the load engine instances using the AWS console (do not terminate them!). After rebooting, the load engine software will now be listening on the correct address.
  2. Restart Load Tester. When Load Tester restarts, it will query your Amazon EC2 account for running instances and connect to them – this time using the new Elastic IP addresses.

We hope to add more elegant support for Elastic IPs in the future, but until then, these simple steps will give you all the benefits of Elastic IPs right now!

Chris Merrill, Chief Engineer

Add Your Comment

You must be logged in to post a comment.

Resources

Copyright © 2024 Web Performance, Inc.

A Durham web design company

×

(1) 919-845-7601 9AM-5PM EST

Just complete this form and we will get back to you as soon as possible with a quote. Please note: Technical support questions should be posted to our online support system.

About You
How Many Concurrent Users