Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have been reading about elastic IP's with Amazon EC2 instances. I was wondering, a lot of the stuff I do with my server is based on IP limits, like for example google map geocoding which is limited to 2,500 per IP (I beleive it is limited on IP not server).

Firstly, if I have 3 elastic IP's connected to my Amazon EC2 instance, does that mean that effectively my server can appear to be located on three different IP's, so I can effectively triple any sort of rate limiting allowance?

Secondly, is there a way to determine which elastic IP my EC2 server uses, and can this be changed whilst the server is running?

share|improve this question
    
"Firstly, if I have 3 elastic IP's connected to my Amazon EC2 instance..." Firstly, you can't. AWS only allows one at a time. –  ceejayoz Feb 20 '13 at 14:14
    
Ah ok. Does this IP address remain constant for the entire time it is deployed? What about if I shut it down and boot it up again, will it be different? –  James Willson Feb 20 '13 at 14:23
1  
You really should go read the docs. Instances get IPs when they're launched. Elastic IPs are independent of instances - they can be attached to one, moved to different ones, left unattached for later use, etc. –  ceejayoz Feb 20 '13 at 14:45

2 Answers 2

up vote 1 down vote accepted

Firstly I'd like to mention that rate limiting is usually applied to prevent abuse of an API.

Trying to get around this might be considered a breach of the terms and conditions of using the service. Have a good think about this before proceeding.

Firstly, if I have 3 elastic IP's connected to my Amazon EC2 instance, does that mean that effectively my server can appear to be located on three different IP's, so I can effectively triple any sort of rate limiting allowance?

You can only assign one elastic IP to a classic EC2 instance.

Secondly, is there a way to determine which elastic IP my EC2 server uses, and can this be changed whilst the server is running?

Yes you can check the "Elastic IPs" section in the EC2 Management Console. This will show you which Elastic IPs are mapped to which EC2s.

In theory you could manually (or automatically) cycle new Elastic IPs for a given EC2.

Other ways to get more request throughput

  • You could simple use smaller machines. Instead of using a small instance on AWS you might elect to use 2 micros.
  • You could use spot instances. Each spot instance would come with it's own IP. You could architect your application to stay within the allowed limits, but use as many micro instances as you can get your hands on to do it.
share|improve this answer

When you launch a server you don't automatically get an elastic ip address. These are allocated later. Once allocated you assign it to a particular instance. (This can be un-associated and re-associated with a separate instance whilst the server is running.)

All of this can be done via an api and not necessarily manually.

I'm not familiar with Google's api limits but trying to get around it with elastic ip addresses would be a bad idea. Can you not just simply contact Google and ask for an increase?

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.