1. route53-geo
My understanding is that AWS route 53 does not support geographical DNS presently (but given they roll out new features all the time, this might be out of date already!)
http://www.dnscomparison.com/route53.html
"Geographical DNS services are not supported currently but it appears support for this service will be added in the future. You can integrate Route 53 DNS services with any additional Amazon Web Service."
AWS support say the feature is top priority, and coming (circa 2011...);
https://forums.aws.amazon.com/thread.jspa?threadID=75241
2. mod_geoip
If you are using apache2/linux you can install a tool such as mod_geoip2 to redirect your users back to the desired geographical instance based on their client IP address.
This stackoverflow question has an example showing how to match on a region, and send the user to the other site with a 302 redirect;
RewriteEngine On
GeoIPEnable On
GeoIPDBFile /var/share/GeoIP/GeoIP.dat
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^VN$
RewriteRule ^$ http://www.secondsite.vi/$1 [L,NC,QSA]
and then bounce the NOT-vietnam originating IP visitors back to the US hosted site on the other server config;
RewriteEngine On
GeoIPEnable On
GeoIPDBFile /var/share/GeoIP/GeoIP.dat
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^VN$
RewriteRule ^$ http://www.site.com/$1 [L,NC,QSA]
While it may be undesirable to contact the US server at all in your scenario if your links are very slow, in reality a GET request for "/" is actually only a small amount of request and response data (200-300 bytes each way)-just enough for the "Location: http://www.secondsite.vi." 301 redirect and other response headers. In fact, you could modify the stanzas above to remove one further redirect on the other side, by specifying exactly the "home" page like so;
RewriteEngine On
GeoIPEnable On
GeoIPDBFile /var/share/GeoIP/GeoIP.dat
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^VN$
RewriteRule ^$ http://www.secondsite.vi/index.html [L,NC,QSA]
As the html in the page served by http://www.secondsite.vi/index.html, has the correct server base, http://www.secondsite.vi/ then all the remaining traffic does not go to the US.
3. There are some commercial service providers for Geo-DNS;
generally you define a bunch of regions, and A, CNAME records are served depending on the originating client IP;
http://www.geoscaling.com/
http://dyn.com/dns/dynect-managed-dns/
http://www.dnsmadeeasy.com/services/global-traffic-director/
http://www.zerigo.com/news/launch-of-geodns-geolocation-load-balancing
(I've not used any of them personally, but I did take a look at these services for a previous requirement, so I'd be interested to know how it works out for you)
4. Run your own Geo-aware nameserver
You are obviously subject to issues to do with caching, and physically locating your DNS servers appropriately. (hence this solution would only be if you had a special situation)
However you can install extensions to the bind DNS server (or dnsmasq etc) that will enable geo-aware for serving your own DNS records;
"HOWTO Implement GeoDNS using BIND & MaxMind"
http://phix.me/geodns/