Admittedly this is a bit of a loaded question. There are certainly a number of metrics by which something like this can be measured – gross revenue; number of employees; percent of market share; services/products offered; infrastructure footprint; and so on. By all accounts AWS is the “biggest” of all cloud providers and a quick Internet search will reveal numerous articles cataloging several of these categories or at least making good best guesses to answer this question.
I’m going to take a bit of a different approach trying to answer this question. At this writing AWS operates 26 reigons around the world consisting of 84 availability zones, numerous local and wavelength zones and points of presence and many more of these bits of infrastructure announced and coming online in the coming months and years.
As with everything connected to the Internet IP addresses are required. And since AWS offers their services to many thousands of customers they require a significant number of IP addresses to run all of their infrastructure and provide some of them for customer workloads. Although IP v6 addresses were fisrst defined nearly 25 years ago we still use IP v4 addresses extensively, and in most cases they are preferred and still required.
Volumes have been written about IP v4 exhaustion and the unfathomably large size and scope of IP v6 addresses so I won’t address those topics here. In fact, this will be the only mention of IP v6 as I will focus on the quantity of IP v4 addresses both that Amazon has acquired, but also how and where they are using those addresses. And that should give us a reasonably good idea of the size and scope of AWS across their over two dozen regions and other Internet-connected infrastructure.
See History Of Internet Addressing for more info on IP addresses and their history.
It is well known that AWS started in Northern Virginia in 2006 with their first “region.” And they have grown at a virtually exponential pace both adding more infrastructure there, in other regions around the world, and expanding their service offerings as a whole. Two of their original services, Simple Storage Service (S3) and Elastic Compute Cloud (EC2), are still going strong – and both are arguably the most heavily utilized – and, particularly with EC2, require a lot of IP addresses. So, that’s the metric – IP address allocation – we will use to get an idea of the size, scope and scale of AWS around the world including comparing the size of their regions to one another, and getting a peek at their newer local zones.
In late 2014 Amazon started to publish a list of their advertised IP address ranges that is updated regularly (sometimes multiple times a day) and includes addresses used across the globe by Amazon, but also those associated with specific regions and for specific services – like S3 and EC2. This list can be used for a variety of reasons – updating firewall rules, both at the network and transport layers, and at the application layer like what WAF would use – but it’s also a wealth of information giving us insight into the quantity of addresses associated with their infrastructure.
Sometime last year I ran across this article where Andree Toonk does a great job of outlining some of the major IP address block acqusitions Amazon has made over the last few years, and he also delves into the total quantity of their IP address portfolio (just north of 100 million!) and some estimates on the value of those address ranges – estimated to be in the billions of dollars. There is also a very useful github repo where Joe Taiabjee started several years ago to archive the IP address json file from Amazon each time it’s updated and released, which is a great place to view some of this information from an historical perspective.
But my work differs from these in that I’m using Amazon’s data (current as of this post) to try to quantify the size and scope of Amazon’s 26 current regions, along with their newer infrastructure (so far in the US only, but expanding rapidly) called local zones. And in order to make this comparison I am primarily using IP addresses assigned to specific regions and local zones for EC2.
First though we need to go back in time a bit to earlier days of AWS. From the beginning of EC2 (beta began in August of 2006) instances ran in a single flat network within AWS data centers, and every single instance had its own public IP address. And although this was consistent with the original design of the Internet it was a little foreign to myself and many others because we had been using private IP addresses within our data centers and not assigning all devices (i.e. hosts) public IP addresses. Besides being a bit different than what we had grown accustomed to with our servers this also had the effect of requiring potentially a large number of IP addresses, particularly as AWS grew.
I’m sure Amazon could see the writing on the wall, that both using a large number of publicly routable addresses and being different that what most IT folks were used to AWS answered these challenges (and a few others) with their release of Virtual Private Cloud (VPC) in August of 2009. Then beginning in late 2013 anyone creating a new AWS account could only launch instances within VPC’s. But those of us with older accounts could use either the original EC2 (without the need for a VPC) or launch our instances inside a VPC. But anyone running instances outside VPC are living on borrowed time with the 2021 announcement of their retiring EC2-Classic (that’s what they call the original VPC-less EC2 now) altogether.
Even with the fact that increasingly more workloads have been deployed within VPC’s over the past decade or so there are still a significant number of public IP addresses which are needed for devices like elastic load balancers, NAT gateways, VPN endpoints, hosts deployed into public subnets within VPC’s, etc. So not only will public IP addresses be needed as more customers move more workloads to the cloud that need will likely increase dramatically over the years.
Amazon will certainly have to continue to acquire increasingly scarce IP v4 addresses, and continue to roll them out to their ever-expanding global infrastructure footprint. But this is also what makes these IP addresses a reasonably good indicator of just how vast AWS is as a whole, but also within specific regions and with their newer local zones.
In graph 1 we can see that Amazon’s flagship region in Northern Virgina (us-east-1) has a bit over 16 million IP v4 addresses allocated for EC2-related services – far and away more than any other region. This of course does not indicate how many of them are in use at any particular time, but we can clearly see that this region dwarfs all others on this key metric.
Graph 2 shows the distribution of S3 IP addresses across all current AWS regions.
It is interesting to note that some of their early regions (us-east-1, us-west-2, eu-west-1 for example) have significantly more addresses for both EC2 and S3. This is certainly because these regions have been around the longest, but all three also supported EC2-Classic and, regarding S3, all three (and a few others) supported path-style names (https://s3.amazonaws.com/<bucket>), not just the newer host-style names (https://<bucket>.s3.amazonaws.com/). It is my belief that they required more IP addresses for services like S3 early on, but now they are a bit more efficient with addresses for such services. That’s just conjecture on my part anyway…..
The final graph (3, below) compares how many addresses have been allocated to each of the current local zones here in the US. Since the local zone in Los Angeles was the first to come online a couple of years ago it certainly has seen significant usage and has over 10x (148,736) the number of addresses as compared to the next highest in DFW (11,528).
This is not meant to be the definitive answer to the question posed in the title of this post, but it does provide interesting and useful information as to the size and scope of AWS’s operations across the world from the perspective of the total number of IP v4 addresses (north of 100 million) Amazon has under their control currently, and how many are in use across AWS globally (in total it appears they are currently advertising over 66 million of these addresses).
This also does not look at others in the cloud space to compare the quantity of their acquired and advertised address space, but that may be done in a future post…. But from this we can get a pretty good idea of the overall size of AWS, and see a decent comparison of the overall relative size of each of their regions and local zones.
See AWS EC2 Instance Types Per Region for another interesting metric regarding the size, scope and overall configuration between AWS regions.