Take the 2-minute tour ×  Amazon only gives you a certain number
of static ip address and the local (private) ips of each EC2
instance can change when the machine is restarted. This makes
creating a stable platform where EC2 instances depend on each
other ridiculously hard to use as far as I can tell.  I've
search online a lot about various solutions and so far have
found nothing reasonable outside of assigning an elastic ip
address on ever EC2 even if its not public facing. Does anyone
have any other good ideas that is actually easy to execute on?
See the AWS team's response to question Static local IP:  The
internal IP address of EC2 instances is allocated via DHCP. On
instance shutdown, or when the DHCP lease expires, the IP
address is returned to the general EC2 DHCP pool of addresses
available for other instances.  There is no way to guarantee
that you will obtain the same DHCP address across reboots.
Edit: The answer is to use Amazon VPC. There is no downside
except a trivial amount of extra setup be