This article was originally published on my personal blog at Toonk.io
Earlier this week, I was doing some work on AWS and wanted to know what IP addresses were being used. Luckily for me, AWS publishes this all here https://ip-ranges.amazonaws.com/ip-ranges.json. When you go through this list, you’ll quickly see that AWS has a massive asset of IPv4 allocations. Just counting quickly I noticed a lot of big prefixes!
However, the IPv4 ranges on that list are just the ranges that are in use and allocated today by AWS. Time to dig a bit deeper.
Over the years, AWS has acquired a lot of IPv4 address space. Most of this happens without gaining too much attention, but there were a few notable acquisitions that I’ll quickly summarize below.
In 2017 MIT sold half of its 220.127.116.11/8 allocation to AWS. This 18.104.22.168/9 range holds about 8 million IPv4 addresses.
In 2018 the IPv4 prefix 22.214.171.124/8 was transferred from GE to AWS. With this, AWS became the proud owner of its first /8! That’s sixteen million new IPv4 addresses to feed us hungry AWS customers. https://news.ycombinator.com/item?id=18407173
In 2019 AWS bought a /10 from AMPR.org, the Amateur Radio Digital Communications (ARDC). The IPv4 range 126.96.36.199/8 was an allocation made to the Amateur Radio organization in 1981 and known as the AMPRNet. This sell caused a fair bit of discussion, check out the nanog discussion here.
Just this month, it became public knowledge AWS paid $108 million for this /10. That’s $25.74 per IP address.
These are just a few examples. Obviously, AWS has way more IP addresses than the three examples I listed here. The IPv4 transfer market is very active. Check out this website to get a sense of all transfers: https://account.arin.net/public/transfer-log
Armed with the information above it was clear that not all of the AWS owned ranges were in the JSON that AWS published. For example, parts of the 188.8.131.52/8 range are missing. Likely because some of it is reserved for future use.
I did a bit of digging and tried to figure out how many IPv4 addresses AWS really owns. A good start is the Json that AWS publishes. I then combined that with all the ARIN, APNIC, and RIPE entries for Amazon I could find. A few examples include:
Combining all those IPv4 prefixes, removing duplicates and overlaps by aggregating them results in the following list of unique IPv4 address owned by AWS: https://gist.github.com/atoonk/b749305012ae5b86bacba9b01160df9f#all-prefixes
The total number of IPv4 addresses in that list is just over 100 Million (100,750,168). That’s the equivalent of just over six /8’s, not bad!
If we break this down by allocation size, we see the following:
1x /8 => 16,777,216 IPv4 addresses 1x /9 => 8,388,608 IPv4 addresses 4x /10 => 16,777,216 IPv4 addresses 5x /11 => 10,485,760 IPv4 addresses 11x /12 => 11,534,336 IPv4 addresses 13x /13 => 6,815,744 IPv4 addresses 34x /14 => 8,912,896 IPv4 addresses 53x /15 => 6,946,816 IPv4 addresses 182x /16 => 11,927,552 IPv4 addresses <and more>
A complete breakdown can be found here:
Alright.. this is just for fun…
Since AWS is (one of) the largest buyers of IPv4 addresses, they have spent a significant amount on stacking up their IPv4 resources. It’s impossible, as an outsider, to know how much AWS paid for each deal. However, we can for fun, try to put a dollar number on AWS’ current IPv4 assets.
The average price for IPv4 addresses has gone up over the years. From ~$10 per IP a few years back to ~$25 per IP nowadays.
Note that these are market prices, so if AWS would suddenly decide to sell its IPv4 addresses and overwhelm the market with supply, prices would drop. But that won’t happen since we’re all still addicted to IPv4 ;)
Anyway, let’s stick with $25 and do the math just for fun.
100,750,168 ipv4 addresses x $25 per IP = $2,518,754,200
Just over $2.5 billion worth of IPv4 addresses, not bad!
Peeking into the future
It’s clear AWS is working hard behind the scenes to make sure we can all continue to build more on AWS. One final question we could look at is: how much buffer does AWS have? ie. how healthy is their IPv4 reserve?
According to their published data, they have allocated roughly 53 Million IPv4 addresses to existing AWS services. We found that all their IPv4 addresses combined equates to approximately 100 Million IPv4 addresses. That means they still have ~47 Million IPv4 addresses, or 47% available for future allocations. That’s pretty healthy! And on top of that, I’m sure they’ll continue to source more IPv4 addresses. The IPv4 market is still hot!