As of November 14, 2026, this post sums up the official pages linked here.

The problem

Teams still sometimes expect an Elastic IP to be free once it is attached to a running instance. AWS's current pages say otherwise.

Our team at CloudSkill Consulting LLC sees this surprise in cost reviews: a quiet line for public IPv4, including addresses that are attached and in use. This post sticks to what AWS's own Elastic IP guide and the Amazon VPC pricing page say, including the hourly rate published there.

Root cause: every dedicated public IPv4 address is a billed item

The Elastic IP guide is direct: "There is a charge for all Elastic IP addresses whether they are in use (allocated to a resource, like an EC2 instance) or idle (created in your account but unallocated)." It adds that "AWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses." (Elastic IP addresses)

The Amazon VPC pricing page spells out two categories, at the same published rate:

  • In-use public IPv4 address: "Any public IPv4 address associated with a resource launched in an Amazon VPC, and public IPv4 addresses assigned to AWS Global Accelerator and AWS Site-to-Site VPN tunnel endpoints."
  • Idle public IPv4 address: "Any public IPv4 address associated to your AWS account that is not used on a resource."

"The price is the same whether the public IPv4 address is in-use ... or an idle public IPv4 address." The page lists that hourly charge as $0.005 for an in-use address and $0.005 for an idle address. The bill "is calculated in one-second increments, with a minimum of 60 seconds." (Amazon VPC Pricing, figures read on Nov. 13, 2026, and rechecked on Nov. 14, 2026; check that page for any later change)

The same page notes some public IPv4 addresses that are not dedicated to your resource are not charged, and gives Amazon S3 addresses that are "not dedicated per S3 bucket" as an example. For the list of services that are charged, it points to AWS's public IPv4 documentation from that pricing page.

Disassociating is not the same as stopping the charge

You can take an Elastic IP off an instance. That does not remove it from your account. AWS says: "A disassociated Elastic IP address remains allocated to your account until you explicitly release it. You are charged for all Elastic IP addresses in your account, regardless of whether they are associated or disassociated with an instance." (Elastic IP addresses)

So a cleanup that only clicks "disassociate" leaves an idle address, still billed at the same official hourly rate until someone releases it.

What to do

1. Find the addresses. In the EC2 console, open Elastic IP addresses and list every address allocated to the account, attached or not. The VPC pricing page also points to Public IP Insights, which it describes as visibility into your public IPv4 usage, available in the Free Tier of VPC IP Address Manager (IPAM). You "do not pay for your usage of IPAM" in that Free Tier, "However, you still pay for any other AWS service that you are using." (Amazon VPC Pricing)

2. Keep only what you still need. An Elastic IP is useful when you must hold a stable public address. If the instance, NAT gateway or load balancer no longer needs that dedicated address, release it after you confirm nothing still depends on it.

3. Release, do not only disassociate. After you disassociate an Elastic IP you do not plan to reuse, release it so it leaves the account. Until you do, the idle-address charge continues.

4. Look beyond Elastic IP. The pricing page says nearly all resources launched in a VPC get an IP address, and that services such as EKS, EMR, ECS, RDS and WorkSpaces can create resources in your VPC with public IPv4 addresses. In-use charges apply there too, not only to Elastic IPs you allocated by hand. (Amazon VPC Pricing)

We are not repeating AWS's worked dollar examples here, because those depend on how many addresses you have and for how long. The hourly rate above is the figure the pricing page published when we read it. Use that page for the current number before you estimate a bill.

When it goes wrong

  • You release an address that a DNS record, partner allow-list or NAT gateway still uses. Confirm the dependency first. An Elastic IP is yours until you release it. (Elastic IP addresses)
  • You disassociate and think the bill has stopped. It has not, until the address is released.
  • You only look at Elastic IPs and miss public IPv4 on managed services. Check Public IP Insights or the cost line for public IPv4, not only the Elastic IP list.

Sources

Every page below was read on Nov. 13, 2026.

CloudSkill Consulting LLC helps teams with fixed-fee cloud projects, FinOps reviews and IT staffing. Learn more at cloudskillconsulting.com.