The ULightHost Ultimate VPS: 4 vCPU, 8GB RAM,
When your project demands the best, you need a server t...




The difference between an elastic IP and a dynamic IP is not permanence — it is ownership of the failure. A dynamic public IP belongs to an instance and dies with it; an elastic IP belongs to your account and survives it. And the second misunderstanding is the expensive one: an elastic IP is not a failover plan. Failover is four verbs — detect, decide, remap, verify — and the elastic IP is only the third verb, one atomic operation. Buy one expecting high availability and you will own a perfectly static address pointing at a dead server, which is worse than a dynamic IP, because it fails with total confidence.
The redefinition the argument depends on: "dynamic" and "elastic" are not two kinds of address, they are two kinds of lease. A dynamic, auto-assigned public IP is rented to the instance at boot and returned to the provider's pool the moment the instance is stopped, destroyed, or rebuilt — and everything external that remembered the address, from DNS records to customer allowlists to monitoring probes, silently rots the instant that lease ends. An elastic IP — AWS's name for it; DigitalOcean calls it a reserved IP, Hetzner and Vultr call it a floating IP — is allocated to your account and stays allocated until you release it, and it can be re-associated from one instance to another in seconds, with no cache anywhere on the internet entitled to remember the old binding. The operational question is therefore never "which address type should I choose" but "who is allowed to move the address, how fast can it move, and what decides when it moves".
What follows is the working model: the real difference between the two address types, and which lifecycle each is bound to; the one thing an elastic IP buys you and the three things it does not; what the major providers charge for these addresses as of October 2026, and the exact conditions under which each charge applies; the four failover patterns that actually work, each written as ordered steps; the RTO comparison that maps your availability requirement onto a pattern; the five ways these patterns fail in production; and the FAQ answers to the questions people actually type.
The direct answer: a dynamic IP is bound to the instance lifecycle — it exists exactly as long as the instance's lease does — while an elastic IP is bound to the account lifecycle, existing until you explicitly release it, which is why only one of the two can point at a second machine after the first machine dies.
An auto-assigned public address appears at instance boot and disappears at stop or destroy. There is no notice, no grace period, and no way to get the same address back on most providers. The address was never yours; it was a property of the lease, and when the lease ends, the property reverts. Everything downstream that cached the address — a customer's firewall rule, a partner's allowlist, a monitoring dashboard, a hard-coded integration in someone else's codebase — is now pointing at a stranger's future server.
An elastic address inverts the ownership. As of October 2026, AWS's documentation states it plainly: a disassociated Elastic IP "remains allocated to your account until you explicitly release it." The address is a resource in your account, like a disk, with its own lifecycle, its own price tag, and — critically — its own move operation. That move operation is the entire subject of this article, because it is the only failure-related thing an elastic IP actually does.
Here is the conclusion before the table: the two address types differ in ownership, in survival, and in movability — and the row that decides your architecture is the last one, because movability is the property failover is made of.
| Property | Dynamic (auto-assigned) IP | Elastic / reserved / floating IP |
|---|---|---|
| Owned by | The instance's lease | Your account, until you release it |
| Survives instance stop or destroy | No — returned to the provider's pool | Yes — allocation is independent of any instance |
| Can move to another instance | No | Yes — typically a seconds-scale control-plane operation |
| Existing connections when it moves | Not applicable | Still die; new connections follow the address |
| Typical price model | Included in the instance price | Metered separately; conditions differ sharply by provider (table below) |
The direct answer: a dynamic IP is the right answer exactly when nothing outside your control is allowed to remember the address — services fronted by a load balancer or reached only through a hostname with a sane TTL, egress-only workers, and short-lived machines can run on auto-assigned addresses with zero operational loss.
Three cases cover most of the legitimate uses. First, instances behind a load balancer: the public entrypoint is the balancer's address, and the instance's own address is plumbing that nobody external ever learns. Second, egress-only workloads — crawlers, batch jobs, build runners — where the address matters only in reverse-DNS reputation terms, and where the whole instance is disposable by design. Third, anything short-lived: a CI runner that lives forty minutes has no business owning a permanent address.
The failure mode of dynamic-IP architectures is never the address; it is the memory. Some party you do not control — a customer's firewall, an upstream API's allowlist, a monitoring service configured by IP — remembered the address, and nobody wrote that fact down. Teams running on dynamic IPs for years usually discover the dependency during the first migration, when the new address works everywhere except that one customer's office. If your only entrypoint is a hostname whose TTL you control, a dynamic IP is a non-problem. The moment an external party is allowed to remember the address, you need an account-owned address — and the cheapest time to learn which situation you are in is before the incident, not during it.
The direct answer: the entire value of an elastic IP is that moving it is a single control-plane operation that completes in seconds and that no resolver, browser, or intermediary cache anywhere is entitled to remember — the remap is atomic and immediate, bounded only by how fast you detect the failure and decide to act.
Contrast that with every DNS-based alternative. A record change is bounded by the TTL you set while healthy: flip an A record with a 14400-second TTL and you have a four-hour recovery window that no amount of urgency shortens, because the caches holding the old answer are machines you do not control. An elastic address has no such residue. The moment the provider's control plane completes the re-association, every new connection in the world routes to the new instance. That is the whole trick, and it is a genuinely different category of operation from anything DNS can offer.
AWS's own documentation, as of October 2026, describes the mechanism's purpose almost apologetically: you can "mask the failure of an instance or software by rapidly remapping the address" to another instance in your account. Rapidly — not automatically, not intelligently. The word "elastic" was never a promise of availability; it is a promise of removability. The recovery-time arithmetic makes the division of labor explicit: total RTO equals detection time, plus decision time, plus remap time, plus verification time. The elastic IP collapses the third term to seconds. Your monitoring, your runbook, and your standby own the other three terms, and they are where the real engineering lives.
One boundary condition deserves its own sentence: remapping the address kills every existing TCP connection. New connections follow the address instantly, which makes the operation nearly free for HTTP request/response traffic, but genuinely disruptive for long-lived connections — WebSockets, database sessions, SSH tunnels. Clients that reconnect gracefully treat a remap as a hiccup; clients that hold a socket for hours treat it as an outage. Design for reconnection either way.
The direct answer: an elastic IP does not detect failure, does not distribute traffic, and does not cross provider boundaries — it is a remap primitive, not a health check, not a load balancer, and not a region-independent identity, and every one of those gaps has to be closed by something else in your architecture.
The region lock has a second consequence that is latency, not availability: when your failover target is a second region, the choice of which region is decided by where your users are, not just by where your provider has capacity. A standby that fails over beautifully but adds 250 ms to every request from your primary market has converted an outage into a degradation — which is a legitimate outcome, but only if you chose it deliberately. Region selection for user reach is its own discipline; for teams whose users concentrate in East and Southeast Asia, the calculus behind using a Hong Kong VPS to reach China and Southeast Asian markets covers the latency half of that decision.
The direct answer: as of October 2026, AWS charges $0.005 per hour for every public IPv4 address whether in use or idle, DigitalOcean's reserved IPv4 is free while assigned to a Droplet but $5.00 per month when unassigned, and Hetzner bills its floating IPv4 at €3.00 per month by the hour regardless of attachment — three opposite philosophies pricing the same scarcity.
Here is the conclusion to read before the table: the differences between providers are in the conditions, not the amounts — whether the address is charged while attached, while idle, or both is what turns a $0.50 line item into a $36 surprise on a fleet that hoards addresses "just in case."
| Provider (product) | Attached / in use | Idle / unattached | Remap scope |
|---|---|---|---|
| AWS (Elastic IP) | $0.005/hr — AWS has charged for all public IPv4 addresses, attached or not, since February 2024 | $0.005/hr — same rate, no idle discount | Within one Region; default quota 5 EIPs per Region, increasable on request |
| DigitalOcean (Reserved IPv4) | Free while assigned to a Droplet | $5.00/mo ($0.01/hr) while reserved but unassigned | Within one datacenter |
| DigitalOcean (Reserved IPv6) | Free | Free even when unassigned | Within one datacenter |
| Hetzner (Floating IPv4) | €3.00/mo (€0.00446/hr), billed by the hour | Same — no attachment discount | One network zone; one server at a time; no reboot needed; default limit 10 per account |
| Hetzner (Primary IPv4) | €0.50/mo, tied to a server | Not applicable | Reassignable to another server |
Three philosophies, one scarcity. AWS's 2024 change made address hoarding a line item: their published example prices six in-use addresses plus four idle EIPs at $36.00 for the month, which is deliberately punitive arithmetic for "we keep a few spare IPs just in case." DigitalOcean's free-while-assigned rule is the opposite design: an address that is doing work costs nothing, an address sitting in a drawer costs $5.00. Hetzner splits the difference by billing every hour of existence but pricing the floating tier high enough (€3.00 versus €0.50 for a server-bound primary IPv4) to make floating addresses a deliberate purchase rather than a reflex. IPv4 exhaustion is also why an entire product category exists below all of this — VPS plans that share one IPv4 across many tenants through NAT, a trade-off with its own failure modes, covered in depth in this detailed guide to NAT VPS as a cost-effective hosting solution.
The direct answer: run two instances in one region — an active and a warm standby — with an external health check on the active and a rehearsed remap procedure, so that when the check fires you remap the elastic address to the standby and recover in seconds plus your detection time, with no DNS change and no cache anywhere.
The sequence, from architecture to verified recovery:
Two production caveats. If you automate the remap, make the automation idempotent and give it a dead-man's switch, because a script that remaps on every transient blip will flap your traffic between two half-healthy machines; most teams start with alert-triggered manual remap and automate only after the runbook is boring. And remember that the remap API is itself regional on most providers — during a full regional control-plane event, the address may be healthy while the ability to move it is not, which is exactly the gap patterns 2 and 4 exist to close.
The direct answer: point a low-TTL A record at the active server and flip the record to the standby on confirmed failure — it is the only pattern that works across providers, regions, and continents, and its recovery time is bounded below by the TTL you set while healthy, so all of the discipline is front-loaded.
The sequence:
The cost of this pattern is a standing one: a 60-second TTL multiplies your authoritative query volume relative to a day-long TTL, in exchange for a minutes-bounded RTO. On records that front an active-standby pair, that trade is almost always worth it. And note that this pattern composes with pattern 1 rather than competing with it: elastic remap inside a region, DNS failover across providers, each layer covering the other's blind spot.
The direct answer: two machines on the same Layer-2 subnet share a virtual IP that moves in one to three seconds when the master stops announcing it — the fastest failover that exists without an anycast network, and on public clouds it is usually confined to private subnets because the provider's public network will not forward VRRP's gratuitous ARP.
The sequence:
The strength and the weakness are the same property: everything is local. Nothing crosses a provider boundary, nothing depends on a control-plane API, and nothing is bounded by a DNS TTL — but nothing survives the subnet either. A failure that takes out the broadcast domain takes out the pattern, which is why VRRP pairs are usually the innermost layer of a design that also has one of the other patterns above it.
The direct answer: put a managed load balancer in front of two or more instances with health checks, and the public address never moves at all — the pool changes — which converts failover from an operation you run into a configuration you maintain.
The sequence:
This is the pattern most stateless web services should actually adopt, because it is the only one where detection is somebody else's maintained, monitored, continuously improved component — you are renting the hardest verb. Its cost is the balancer's hourly rate and the constraint that it only helps traffic that can be balanced: a single-node database, a stateful game server, or a queue worker with local state cannot be fronted by an HTTP health-check pool, and those workloads belong to patterns 1 through 3.
The direct answer: pick the pattern by the recovery time your service actually requires and the blast radius you can tolerate — VRRP buys sub-seconds inside one subnet, EIP remap buys seconds inside one region, DNS failover buys minutes anywhere on earth, and a managed load balancer buys a health-check interval's worth of recovery without you owning detection at all.
The conclusion before the table: every row trades scope for speed — the tighter the blast radius a pattern survives, the faster it is, and the moment you need to survive a boundary crossing, you are paying in TTL.
| Pattern | Realistic RTO | Survives what | You own | Standing cost |
|---|---|---|---|---|
| EIP remap | Detection time + seconds | Instance failure, AZ failure (same region) | Detection, a warm standby, a rehearsed remap | A second always-on instance + address fees |
| DNS failover | Old TTL + 1–2 minutes | Anything, including the whole region or provider | Detection, the DNS flip, the low-TTL discipline | Elevated authoritative query volume |
| VRRP / keepalived | 1–3 seconds | Instance or process failure (same subnet) | The entire health script and its false-positive rate | Two machines sharing one subnet |
| Managed load balancer | Health interval × threshold | Instance failure, AZ failure (provider footprint) | Readiness configuration only | Balancer hourly rate + N instances |
One cost line deserves attention before anyone builds pattern 1: the standby is what makes failover a habit instead of an aspiration, because a second always-on machine in a second availability zone is a permanent bill for an instance that serves no traffic until the worst day of your quarter. That economics only works when the per-unit cost of a warm machine is low, which is exactly what the lightweight instance tier was built for — SurferCloud's ULightHost line ships a dedicated static IPv4 on every plan, with the 1-vCPU, 2GB RAM, 40GB NVMe entry configuration at $2.9 per month as of October 2026 (renewing at $7.5 per month), which prices a warm standby and its static address at roughly ten cents a day. The current offer for that line is on the ULightHost promo page, and the pattern's discipline is provider-neutral: remap-based failover does not care where the standby lives, only that it is warm, patched, and rehearsed.
The direct answer: in production these patterns almost never fail at the remap itself — they fail around it, through untested standbys, closed firewalls, silently released addresses, TTLs left long until the incident, and split-brain — and every one of those failure modes is testable on a quiet Tuesday before it is load-bearing.
The direct answer to the section: these seven questions cover nearly all of the elastic-versus-dynamic confusion, answered in one or two sentences each, with the deciding condition named every time.
The sentence to carry out of this article, if only one survives: an elastic IP is a verb, not a plan — it moves the address, and everything that matters around that movement, the detecting, the deciding, and the verifying, is architecture you either rehearsed or you did not.
When your project demands the best, you need a server t...
If you’re building for users across Asia-Pacific, kee...
Are you searching for a Virtual Private Server (VPS) th...