Skip to content

Elastic IP Cost Insights

Every Elastic IP address that is not attached to a running EC2 instance bills by the hour, and since February 2024 AWS charges for public IPv4 addresses even when they are in use. CloudPouch Elastic IP Cost Insights find the addresses that are paying that charge for nothing.

CloudPouch flags Elastic IP addresses that are not associated with active EC2 instances. That covers two cases:

  • Unassociated addresses — allocated to your account but attached to nothing.
  • Addresses attached to stopped instances — the instance stopped billing for compute, but its Elastic IP kept billing.

CloudPouch Elastic IP Cost Insights summary showing idle Elastic IP costs and addresses associated with stopped EC2 instances.

An Elastic IP has always billed hourly while idle — the charge was AWS’s nudge to release addresses you are not using. In February 2024, AWS extended charging to all public IPv4 addresses, in use or not, which made every allocated Elastic IP a billed resource. The per-address rate is small — $0.005 per hour when the February 2024 charge took effect — but Elastic IPs accumulate: teams allocate one per environment, per experiment, per “we might need a static IP”, and releases rarely happen because the address costs cents and nobody owns it. Fifty forgotten addresses across an organization is a steady charge that fixes itself in an afternoon. Current rates are on the Amazon VPC pricing page under Public IPv4 addresses.

The stopped-instance case is the one people miss. Stopping an instance feels like turning costs off, but the Elastic IP attached to it switches to the idle rate the moment the instance stops. The same trap applies to the instance’s EBS volumes — see the $1.32M/year snapshot case study for how far stopped-instance leftovers can go at scale.

Run this insight when public IPv4 charges appear in the bill without an obvious source, after any instance cleanup, and periodically in accounts where instances are routinely stopped rather than terminated.

Before releasing an address, confirm nothing external depends on it — DNS records, firewall allowlists at partners, or documentation that hard-codes the IP. A released Elastic IP is not guaranteed to be recoverable.

CloudPouch uses EC2 read APIs for Elastic IP association and instance-state metadata, plus cost data for savings context. See AWS permissions.