Amazon EC2: possible to use elastic load balancing across web servers in multiple regions based on location of client?
Solution 1:
Check out Amazon Route 53
http://www.allthingsdistributed.com/2010/12/dns_amazon_route_53.html
Route 53 is designed to be fast, easy to use, and cost-effective. It answers DNS queries with low latency by using a global network of DNS servers. Queries for your domain are automatically routed to the nearest DNS server, and thus answered with the best possible performance.
http://aws.amazon.com/route53/
Solution 2:
I realize that this is very old thread (2011) but I came across this in early 2015, so might someone else, hence clarifying that as of 2015, Amazon route 53 does indeed support GeoLocation based routing :
http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-geo
Solution 3:
Zerigo offer GeoIP services seems cheap at about $20 a month. i use them for managing about 40 domains, but none of the GeoIP yet... there is another place called EdgeLocator who charge per million DNS requests. seems to be a PAYG service... have not used them, but you might want to check them out for testing...