Explanation
Why the waste happens and who it affects.
AWS bills every public IPv4 address, including an EIP, by the hour whether it is in use or idle, so in either case the charge continues while the address delivers no value. Although the cost per hour is relatively small, these charges accumulate quietly, especially across environments with frequent provisioning, decommissioning, or ephemeral workloads. Many organizations overlook the fact that even a single EIP attached to a stopped instance is billable. Without periodic review, this creates persistent, low-visibility waste across AWS accounts.
Billing model
The pricing dimensions that drive this cost.
Elastic IPs are billed under the following rules:
- All public IPv4 addresses, including Elastic IPs, are billed at $0.005 per hour whether in use or idle; no EIP is free (BYOIP addresses excepted)
- Billed hourly while delivering no value:
- If the EIP is unassociated (not linked to any resource)
- If the EIP is associated with a stopped EC2 instance
- If an instance holds additional EIPs it does not actually need
Because every public IPv4 address is billed, an EIP that is unassociated or attached to a stopped instance is pure cost with no benefit.
How to detect
4 checks to find it in your estate.
List all Elastic IPs and identify those that:
- Are not associated with any resource
- Are associated with an EC2 instance that is currently stopped
- Are additional EIPs on an instance that are not actually required
- Use tags or resource metadata to validate whether these EIPs are still required for future use
How to fix
3 ways to remove the waste.
- Release any EIPs that are no longer required
- Automate audits to identify unassociated or inactive EIPs on a recurring basis
- Update IaC templates or provisioning workflows to clean up networking assets during teardown
Documentation
Vendor references for pricing and configuration.