🌐 Public IPv4 Cost

An address is now a metered resource in its own right: $0.005 per hour, which is $3.65 a month and $43.80 a year. The rate does not care whether the address is serving traffic or sitting in a subnet doing nothing, and it does not vary by region or by instance size. That single change inverted a decade of advice — attaching an Elastic IP used to stop the meter, and now it only moves it.

📐 Address Inventory

Enter how many public IPv4 addresses the account holds. In-use and idle are separate fields because they are billed at the same rate but usually arrive from different places: one set is attached to instances, load balancers and NAT gateways, the other is Elastic IPs parked in the account. Contiguous blocks are a third line item at a higher rate.

Standard addresses are priced at $0.005/hour and contiguous-block addresses at $0.008/hour; the two are totalled separately and added, because a block is billed at its own rate regardless of whether its addresses are assigned.

What the meter actually counts

AWS prices a public IPv4 address the way a landlord prices a parking space: per space per hour, whether or not a car is in it. The published rate is $0.005 per address per hour for in-use addresses and $0.005 per address per hour for idle ones. There is no volume discount, no region variation, and no difference between an address on a production load balancer and one attached to a stopped instance.

monthly = addresses × $0.005/hr × 730 hr = addresses × $3.65 annual = addresses × $0.005/hr × 8,760 hr = addresses × $43.80

The 730-hour month is the billing convention, not a calendar fact: (365 × 24) ÷ 12 = 730. A 30-day month bills 720 hours and a 31-day month bills 744, which is why a bill that says $3.65 in February can say $3.72 in March. Over a year the two bases converge exactly, because 730 × 12 = 8,760.

AddressesPer monthPer yearWhere you see this many
1$3.65$43.80A single Elastic IP on a jump host
8$29.20$350.40Four services × two AZs behind NAT
20$73.00$876.00A default-VPC account that never cleaned up
100$365.00$4,380.00A multi-account landing zone with per-env NAT
256$934.40$11,212.80One /24 held as separate Elastic IPs
1,000$3,650.00$43,800.00An address plan nobody has audited since 2021
The bill scales with topology, not with traffic. Ten addresses cost $36.50 a month whether the fleet serves a thousand requests or a billion, because the meter counts sockets in the network design rather than bytes on the wire.

The advice that stopped working in February 2024

Until 2024 the charge applied only to addresses that were not attached to a running resource. That produced a piece of folk knowledge repeated in every cost-optimization checklist: if you are paying for an Elastic IP, attach it to something and the charge goes away. The instruction was correct, and it trained a generation of engineers to think of attachment as the fix.

Since February 2024 both states carry the same rate. The old remedy now converts one $3.65 charge into a different $3.65 charge:

Address stateBefore 2024Since February 2024
Attached to a running instance or load balancer$0.00$3.65 / month
Allocated but unattached$3.65 / month$3.65 / month
Released back to AWS$0.00$0.00

The only row that changed the answer is the last one. Releasing is now the entire optimization, and it is the one step the old checklist never asked for, because the old meter had already taught everyone that the address was free once it was in use.

This is the same shape as the index advice elsewhere on this site: a rule that was true when it was written, still repeated after the constraint underneath it moved. The check is not whether the advice sounds right, but whether the number it was derived from is still the number.

What a 60-second minimum does to churn

The bill is calculated in one-second increments with a minimum of 60 seconds. For a steady fleet that floor never binds: an address held for a month is billed for a month. It binds on the workloads that allocate and release addresses constantly — integration-test environments, blue-green cutovers, per-tenant gateways spun up on demand.

A single one-minute allocation costs $0.005 ÷ 60 = $0.0000833, which is to say nothing. Ten thousand of them cost $0.83. The reason to know the rule is not the arithmetic; it is that a cost model built on "addresses × hours" silently drops this term, and then someone discovers a line item that the model said could not exist. Round up every allocation event to a minute, then add it to the hourly total.

Contiguous blocks cost 1.6× and buy something else

An Amazon-provided contiguous IPv4 block is priced at $0.008 per address per hour, not $0.005. You are not buying more addresses; you are buying the property that they are sequential, which is what makes firewall allowlisting and BGP announcements possible without maintaining a list of 256 unrelated entries.

BlockAddressesAt $0.008/hrSame count at $0.005/hrPremium
/2816$93.44 / mo$58.40 / mo$35.04 / mo
/2732$186.88 / mo$116.80 / mo$70.08 / mo
/2664$373.76 / mo$233.60 / mo$140.16 / mo
/24256$1,495.04 / mo$934.40 / mo$560.64 / mo

Two details matter more than the 1.6×. First, every address in the block is charged from the moment the block is provisioned, and the in-use / idle distinction does not apply inside it — there is nothing to be gained by assigning them. Second, the block is billed in hourly increments with any partial hour counted as a full hour, so the 60-second floor that applies to single addresses does not apply here; the granularity is coarser.

What is not on the meter

Three categories are excluded, and each is a legitimate way to move addresses off the bill rather than merely reorganising them.

Bring Your Own IP. Address space you have registered with a regional internet registry and imported into AWS is not charged the public IPv4 rate. The trade is that you now own the RIR relationship, the annual fees and the minimum assignment size that comes with it — a /24 in most regions, which is 256 addresses to justify before the first one is used.

Customer-owned IP on Outposts. Addresses in a customer-owned pool are not billed at the public IPv4 rate either, for the same reason: AWS is not supplying them.

Addresses that are not dedicated to your resource. When a service shares its front end across customers, as S3 does, the address is not yours and is not metered to you. A static site on S3 plus CloudFront can therefore serve public traffic while holding zero public IPv4 addresses of its own — which is the pattern worth checking before assuming an internet-facing workload must cost $3.65 a month per endpoint.

The last one generalises: the cheapest address is the one the architecture never needed. A load balancer that terminates TLS for six services holds one address; six load balancers hold six. Consolidating front ends is an architecture decision that happens to have a price, and at $3.65 a month per endpoint it is small enough to be ignored in review and large enough to appear on the bill every month for years.

Pricing Basis, Sources & Assumptions

Every rate on this page is a published vendor list price — no negotiated discounts, private pricing, credits or enterprise agreements. Totals are in USD and exclude tax. Rates were last checked against the sources below on .

Pricing inputBasis used on this page
SourceAmazon VPC pricing — the "Public IPv4 Address" and "Amazon-provided contiguous IPv4 block" sections. This is the only rate used; no other service price is implied.
RegionAll AWS commercial regions, US GovCloud, AWS China regions and AWS Local Zones. The public IPv4 rate is global and does not vary by region, so no region selector is offered.
CurrencyUSD — on-demand list price, tax excluded
Last checked — $0.005/address-hour for both in-use and idle, $0.008/address-hour for contiguous blocks, and the 60-second minimum were re-read from the page on this date.

Modelling assumptions