Amazon only gives you a certain number of static IP address and the local (private) is 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 searched 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 it's not public facing. Does anyone have any other good ideas that are actually easy to execute?
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.