Ephemeral vs elastic IPs on AWS, Azure & Google Cloud
Spin up a cloud server and it gets a public IP — but reboot it and the IP may vanish. Cloud platforms distinguish between ephemeral and static/elastic public IPs, and knowing the difference saves you from broken DNS and lost connections.
Ephemeral IPs: temporary by default
An ephemeral public IP is assigned automatically when you launch an instance and is tied to that instance’s running state. The catch: it can change when the instance stops and starts, and it’s released when the instance is terminated. It’s fine for short-lived or stateless workloads, but you can’t rely on it staying the same.
Static/elastic IPs: reserved and stable
A reserved public IP — AWS calls it an Elastic IP, Google Cloud a static external IP, Azure a static public IP — is one you allocate to your account and keep. You attach it to an instance, and it survives stops, starts, and reattachment to a different instance. This is what you want for anything with a DNS record pointing at it or that others connect to reliably.
Why does the ephemeral vs elastic distinction matter?
The classic mistake: you point a domain’s A record at an instance’s ephemeral IP, everything works, then you stop the instance to save money — and on restart the IP has changed, breaking your site. The fix is to use a reserved (elastic/static) IP from the start for anything addressable.
The cost wrinkle
Cloud providers often charge for reserved IPs that aren’t in use — an idle Elastic IP not attached to a running instance typically incurs a small fee, precisely to discourage hoarding scarce addresses. So allocate static IPs you need and release ones you don’t. An attached, in-use reserved IP is usually free or cheap.
Checking what your instance has
From the server, our homepage or our developer endpoints (e.g. curl checkmyipnow.com/ip) show the public IP your instance currently presents — useful for scripts that need to detect or log the address. For the underlying static-vs-dynamic concept, see static vs dynamic IP.
Related: Static vs dynamic IP explained · Developer API