I mentioned this on a previous thread, but I think it's worth restating -
in EC2, the public DNS hostnames follow a well-known naming convention and
the internal DNS servers automatically convert the public hostnames to the
internal ip addresses. So I believe that if you assign elastic ip addresses
to the machines in your cluster you can use the public DNS hostnames in
your config files and the DNS service will use the internal ips, avoiding
the data transfer fee. If a machine fails, you'll be able to replace it by
re-assigning the elastic ip to that instance once it's up and hijacking the
ailing machine's config files. Granted if you're just using EC2 as a dev
cluster then this may not make sense since you'll be charged for the idle
elastic ip's while your cluster is not running, but for a longer running or
semi-permanent setup this may make sense. Of course, the EC2 network is a
bit flaky so you may want to make sure you have something in place which
provides a bit of dns fault tolerance (ie. dnscache).
ie. in the us-east-1d region, ec2-www-xxx-yyy-zzz.compute-1.amazonaws.com
is the public hostname for the ip address www.xxx.yyy.zzz.
Off course you will have to reconfigure your cluster with the new DNS
names,
but besides that you don't need to do anything.