Choosing an AWS region is the first decision you have to make when you set up your AWS. You can’t do anything in the AWS Management Console, SDK or CLI without choosing a region. Most AWS customers choose one based near to themselves or to their end users, which sounds like a sensible thing to do.
There are a lot of other factors you have to consider;
The AWS Cloud spans 61 Availability Zones within 20 geographic Regions around the world, with announced plans for 15 more Availability Zones and five more Regions in Bahrain, Cape Town, Hong Kong SAR, Jakarta, and Milan.
Region & Number of Availability Zones
N. Virginia (6),
N. California (3),
São Paulo (3)
If most of your users access your applications from within North America, then it typically makes sense to deploy your software in an AWS region located in the US or Canada.
But you have to consider these;
Price differences between regions
1 ELB sends traffic to 5 c5.large instances running Amazon Linux in the same Availability Zone. Each instance has 20GB of EBS SSD storage, and each instance receives 100GB/month from the ELB and sends 1TB/month back to the ELB – therefore the ELB processes 5.1TB/month.
N. Virginia is typically the cheapest region
It costs 52% more to deploy this infrastructure in Sao Paulo compared to N. Virginia.
Not all regions in the US cost the same. N. California would cost 21% more compared to N. Virginia or Oregon.
I would consider N. Virginia to be my first option, unless latency to my end users is unacceptable
Reserved EC2 Instance Cost and Savings vary by region
If you use EC2, chances are it is an important portion of your AWS bill. In this case, it makes sense to consider purchasing Reserved EC2 instances and save in many scenarios up to 40% in EC2 compute cost. Well, it turns out EC2 Reserved pricing varies by region
Regions have different latencies and data transfer speeds
N. California can be about 20% more expensive compared to Virginia. But Oregon is typically the same price as N. Virginia. Let’s say I can deploy most of my components in Oregon, but I’m concerned about latency.
Below chart measures latency between EC2 instances in different regions. The table below shows the average time in milliseconds it took for an EC2 instance in region A to receive a ping response from an EC2 instance in region B.
- Ohio and N. Virginia offer the best latency between two regions (23ms), which makes Ohio a great option as a failover region for applications deployed in N. Virginia
- …Uploading a 1MB file from EC2 to S3. Ohio showed the best intra region EC2-to-S3 transfer time across all regions, with 81m
… and one for 10MB from EC2 to S3. Ohio showed the best intraregion EC2-to-S3 transfer time across all regions, with 356ms.
Consider the type of resource that is most important to you (i.e. compute, data transfer, latency, storage, etc.)
From the ELB/EC2 example in this blog post, we could see a maximum price difference of 52% in a typical ELB and EC2 architecture. But if we look closer at specific resource requirements, the price differences can be even steeper.
…m5.large EC2 instance launched in Sao Paulo, you would pay 59% more compared to N. Virginia.
That’s why it’s important that you understand what type of AWS resources your applications consume the most, so you can make a much better decision regarding your AWS region.
Not all services are available in all regions (some take a VERY long time before they are)
You have an environment in N. California and want to create a serverless microservice! You would have had to wait 500 days for API Gateway to be available in N. California (Nov 21st, 2016) from the day it was first announced (July 9th, 2015). Or more than 2 years for Lambda (November 21st, 2016) from the day it was first announced in N. Virginia (November 13th, 2014).
IAWS services that were announced in 2015 and the dates in which they were released in different regions:
- N. Virginia is the only region where all services are available from day
- Ireland and Oregon are the two regions that follow N. Virginia in terms of feature availability.
Number of Availability Zones
While all regions have at least 2 Availability Zones, the number of AZs varies by region. For example, North California has 3 Availability zones, while North Virginia has 6 AZs. Actually N. Virginia is the only region with 6 AZs. Ten regions have 3 Availability Zones and four regions have only 2 Availability Zones.
Why does this matter? If your application with strict availability requirements, you should probably stay away from only have 2 Availability Zones. If one AZ in those regions is temporarily unavailable you would be left with only 1 AZ to process all your transactions.