Since February 2024, always
Does an Elastic IP cost money?
The rule people remember is that an Elastic IP is free while attached. That rule stopped being true on 1 February 2024.
Yes. Since 1 February 2024, AWS charges $0.005 per hour for every public IPv4 address, which is about $3.60 a month, whether the address is attached to a running instance or sitting unused. That applies to Elastic IPs, to auto-assigned public IPs on EC2 instances, and to the addresses used by NAT gateways, load balancers and RDS instances with public accessibility on.
What actually changed
Before February 2024, an Elastic IP attached to a running instance was free and an unattached one cost $0.005 an hour. The charge existed to discourage hoarding scarce IPv4 addresses.
Now the charge applies to every public IPv4 address in use, full stop. AWS was explicit about the reason: IPv4 address costs have risen and the change is meant to push adoption of IPv6.
For most accounts this landed as a bill increase of a few tens of dollars a month with no change on their side. For accounts running many small instances each with a public IP, it was larger and more annoying, because the per-address cost can rival the cost of a t4g.nano.
What it costs at various scales
| Public IPv4 addresses | Monthly | Yearly |
|---|---|---|
| 1 | $3.60 | $43.80 |
| 10 | $36.50 | $438 |
| 25 | $91.25 | $1,095 |
| 50 | $182.50 | $2,190 |
| 100 | $365 | $4,380 |
$0.005 per hour, 730 hours a month. The same rate applies in every commercial region.
Where the addresses you forgot about are
- →Unassociated Elastic IPs. Released instances leave their addresses behind if nobody releases them explicitly. This is the most common finding of its type and the easiest to fix, since releasing an unassociated address takes one click and breaks nothing.
- →Auto-assigned public IPs on instances that do not need them. Any instance launched into a subnet with auto-assign on gets one. Instances behind a load balancer or reachable only over a VPN do not need a public address at all.
- →NAT gateways. Each one holds a public IPv4 address, so the real cost of a NAT gateway is $32.85 plus $3.60 plus processing.
- →Public load balancers in every AZ. An internet-facing ALB across three availability zones holds one address per zone.
- →RDS instances with public accessibility on. Usually set once during setup so somebody could connect from a laptop, then never turned off. It costs $3.60 a month and it is also a security finding.
Put numbers on it
Frequently asked questions
How do I find every public IPv4 address in my account?
The VPC console has an IP Address Manager view that lists public IPv4 usage per region if IPAM is enabled. Without it, the reliable way is the CLI: describe-addresses for Elastic IPs, plus describe-instances filtered on public IP, plus the load balancer and NAT gateway lists, looped across every region. Addresses in regions you forgot about are exactly the ones costing you money.
Does IPv6 avoid the charge?
Yes. AWS does not charge for IPv6 addresses, which is the entire point of the pricing change. Moving to IPv6 is realistic for internal traffic and for anything behind a dual-stack load balancer; it is harder for services that must be reachable by IPv4-only clients, which is still most of the internet.
Is there a free tier?
New AWS accounts get 750 hours a month of public IPv4 usage free for the first 12 months, which covers roughly one address. After that everything is chargeable.
Is $3.60 a month worth chasing?
One address, no. The reason it matters is that these accumulate silently and nothing prompts a review. We regularly find twenty to fifty forgotten addresses in a single account, which is $70 to $180 a month for nothing at all, and the fix is a five-minute job.
Keep reading
Prices checked against AWS list rates on 2 August 2026. AWS changes prices; treat every figure here as a close approximation rather than a quote.
£499 fixed. Free scan first. 20%+ found or it’s free.
The scan is read-only — a role you create and delete, no keys shared — and shows your estimated monthly saving before anyone talks about money.