On reboot, the IP address of an amazon instance changes. How to find the new IP address using java API?
On reboot, the IP addresses of an EC2 instance do not change. They do generally change on stop/start of a non-VPC EBS boot instance.
See my answer to your related question here:
That said, you can find the private and public IP addresses through the API call for DescribeInstances in your particular language.
If you are on the instance itself, you can also find the IP addresses through the user-data API using simple HTTP:
http://instance-data/latest/meta-data/local-ipv4
http://instance-data/latest/meta-data/public-ipv4
For example,
wget -qO- http://instance-data/latest/meta-data/public-ipv4
Elastic IP addresses are recommended for keeping a consistent (static) externally facing IP address for a particular service or server. These need to be re-assigned to an instance after a stop/start (but not after a reboot).