AWS Global Infrastructure: Regions and Availability Zones

Andrei Maksimov
Andrei Maksimov
0
(0)

AWS Global Infrastructure is made up of Regions and Availability Zones. AWS Regions have physically distanced locations worldwide where AWS cluster data centers where you can launch AWS services. Each Region has multiple Availability Zones – a group of isolated data centers that use independent power grids, cooling systems, and networks. When you create an AWS account, you can use one of the 24 Regions available. You can also choose a different Region when you sign in to the AWS web console, run automation scripts, execute AWS CLI commands or deploy your cloud infrastructure defined in code (IaC) using tools like Terraform or AWS CDK.

AWS Regions

AWS Region is designed to help cloud users isolate compute power, data, and networking in different geographical locations. All regional AWS services are fully isolated within the AWS Region and not shared between other regions. When you create an S3 bucket, all your data in this S3 bucket is stored within the same AWS Region. If the data has to be transferred to another country or region, you can copy it manually or automatically, but AWS never does it without your request. Deployment of an application to several different AWS Regions is usually required when your business or cloud application has specific requirements for Disaster Recovery.

AWS Global Infrastructure_ Regions and Availability Zones - AWS Regions

You maintain complete control and ownership of your data in the region where your data is physically located. This makes it easy to meet regional compliance and data regulatory requirements.

Keep in mind, that if you need to transfer your data between Regions, AWS will charge you for such data transfer.

You can find a complete list of available AWS regions on the official AWS Regions and Availability Zones page.

How to list AWS Regions using AWS CLI?

To list AWS Regions using AWS CLI, you need to execute the following command:

AWS_DEFAULT_OUTPUT=table aws ec2 describe-regions

where the –region argument contains the required AWS Region.

aws ec2 describe-regions
aws ec2 describe-regions

How many Regions are there in AWS?

Cloud services from AWS are distributed to 84 Availability Zones (AZs) across 26 Global Regions, with plans for 24 additional Availability Zones and 8 AWS Regions in Australia, Canada.

How to pick up the AWS Region?

Normally, you’re picking up that AWS Region that is the closest to your applications or services users. That will give your end-users the ability to get access to your application with minimum network delays and possibly get the best experience of using your application.

AWS Availability Zones

An Availability Zone (AZ) is a set of independent data centers with duplicated power, networking, and connectivity in an AWS Region. AZs allow you to build production applications, including database support, which are more resilient, fault-tolerant, and scalable. AZs in an AWS Region are linked with high-bandwidth, low-latency networking, using fully redundant, dedicated metro fiber that delivers high-throughput, low-latency networking between AZs. All traffic between AZs is encrypted, ensuring complete privacy and security, and sufficient network performance enables synchronous replication across AZs.

AWS Global Infrastructure_ Regions and Availability Zones - Availability Zones

As Availability Zones grow over time, AWS’s ability to expand them can become constrained. Usually, if this event happens, AWS restricts you from launching instances or other services and resources in a constrained Availability Zone. Moreover, your account might have a different number of available Availability Zones in a Region than another AWS account.

How to list AWS Availability Zones using AWS CLI?

To list AWS Availability Zones using AWS CLI, you need to execute the following command:

AWS_DEFAULT_OUTPUT=table aws ec2 describe-availability-zones --region us-east-1

where the –region argument contains the required AWS Region.

aws ec2 describe-availability-zones

Availability Zones IDs

To distribute physical computing, networking, and storage utilization across the Availability Zones within a Region, not too far ago, AWS decided to map Availability Zones to “codes” for each AWS account. For example, the Availability Zone us-east-1a for your AWS account might not be the exact physical location as us-east-1a for another AWS account.

To coordinate Availability Zones across accounts, you must use the Availability Zones ID (AZ ID), a unique and consistent identifier for an Availability Zone. For example, use1-az1 is an AZ ID for the us-east-1 Region, and it has the exact physical location in every AWS account. For example, suppose you share a subnet in the Availability Zone with the AZ ID use1-az2 with another account. In that case, this subnet is available to that account in the Availability Zone whose AZ ID is also use1-az2. AZ ID concept becomes especially important when exposing your AWS applications using NLB and PrivateLink or AWS RAM.

The following diagram illustrates the concept of AZ IDs:

AWS Global Infrastructure_ Regions and Availability Zones - Availability Zone ID

How many data centers are in AWS Availability Zone?

No one knows the exact location and amount of physical data centers available in every AWS Availability Zone. And, to be honest, this is not very important. AWS usually does a great job of making the most common services available for you all the time.

How many Availability Zones should I use AWS?

The amount of Availability Zones you use depends on various different factors such as application requirements, environment type, deployment purpose, etc. For development environments and simple applications, you can safely choose one AZ, whereas for UAT and production environments it is a best practice to deploy the application in at least two Availability zones. Such an approach allows you to make sure that if one local group of AWS datacenters will go down for any reason, your application still continues serving end-users traffic in another set of datacenters. The more AZs you’re using for your application the more cost for your architecture solution you have to pay, but:

Everything fails all the time

Amazon Web Service’s (AWS) Vice President and CTO, Werner Vogels

So, it is up to you to make this regular cost vs high availability decision.

If you are still unsure, you can seek help from AWS Certified Professional or Certified AWS Partner. They can help you to pick up individual services you need, empower you to migrate your data center, accelerate in the cloud, accelerate your journey and build faster using managed services from AWS.

Local Zones

AWS Local Zones allow you to use a smaller amount of AWS services, like compute and storage services, closer to more end-users, providing them very low latency access to the applications running locally. AWS Local Zones are also connected to the parent region via Amazon’s redundant high bandwidth private network, giving applications running in AWS Local Zones fast, secure, and seamless access to the rest of AWS services.

AWS Global Infrastructure_ Regions and Availability Zones - Local Zones

You can find a complete list of existing and announced AWS Local Zones on the AWS Local Zones locations page.

How to list AWS Local Zones using AWS CLI?

To list AWS Availability Zones using AWS CLI, you need to execute the following command:

AWS_DEFAULT_OUTPUT=table aws ec2 describe-availability-zones --region us-east-1

where the –region argument contains the required AWS Region.

This command displays not only Availability Zones but also Local Zones.

How is AWS Local Zone different from Availability Zone?

Local Zone is bringing the cloud computing close to your end-users. Local Zone is designed to bring only the core services needed for the latency-sensitive workloads closer to the end-users, while Availability Zone provides access to a complete set of AWS services. You can find additional answers to your questions in AWS Local Zones FAQ.

Edge Locations and Regional Edge Caches

While describing AWS Global Infrastructure, we can’t mention Amazon CloudFront. Amazon CloudFront is a content delivery network operated by Amazon Web Services. Content Delivery Networks (CDN) provide a globally-distributed network of proxy servers that cache content, such as web videos or other bulky media, more locally to consumers. A globally-distributed network of proxy servers can be described as a set of Edge Locations and Regional Edge Caches.

AWS Edge Locations are a worldwide network of data centers that CloudFront uses to deliver your content through. When a user requests content that you’re serving with CloudFront, the request is routed to the edge location that provides the lowest latency (time delay), so that content is delivered with the best possible performance. For more information about Edge Locations, check out the What is Amazon CloudFront article at AWS documentation.

AWS Regional Edge Caches are CloudFront locations that are deployed globally, close to your application consumers. They’re located between the origin server/service in the cloud and the global edge locations (also known as points of presence or POPs) that serve content directly to users.

AWS Global Infrastructure - Regions and Availability Zones - Regional Edge Chaches and Edge Locations
Edge Locations and Regional Edge Caches

Currently, Amazon CloudFront uses a global network of 310+ Points of Presence (300+ Edge locations and 13 regional mid-tier caches) in 90+ cities across 47 countries.

AWS Wavelength

When you need to develop, deploy and scale ultra-low-latency mobile applications, AWS Wavelength is the service you need. AWS Wavelength embeds AWS compute and storage services within 5G networks, providing mobile edge computing infrastructure to support such application requirements.

AWS Global Infrastructure - Regions and Availability Zones - Wavelength

AWS Outpost

AWS Outpost is a pool of AWS compute and storage capacity that can be deployed at your datacenter (DC). AWS operates, monitors, and manages this capacity as part of an AWS Region. You can create subnets on your Outpost and use them when you create AWS resources such as EC2 instances, EBS volumes, ECS clusters, and RDS instances. EC2 Instances in Outpost subnets communicate with other EC2 instances in the AWS Region using private IP addresses within the same VPC. Think of AWS Outpost at a small AWS cloud in the form of one or more server racks placed right in your DC.

AWS Global Infrastructure - Regions and Availability Zones - Outpost

Global Network Infrastructure

Every data center, AZ, and AWS Region is interconnected via a purpose-built, highly available, and low-latency private global network infrastructure. The network is built on a global, fully redundant, parallel 100 GbE metro fiber network that is linked via trans-oceanic cables across the Atlantic, Pacific, and Indian Oceans, as well as the Mediterranean, Red Sea, and South China Seas.

Global Infrastructure Map
AWS Global Network Infrastructure

AWS Health Dashboard

The publicly available AWS Health Dashboard is the single place where you can get the most up-to-date information about the availability and operations of AWS services.

Open and recent AWS issues

You can view the overall status of AWS services including recent issues and current service health.

AWS Services health history

Summary

We’ve covered AWS Global Infrastructure, Regions, and Availability Zones in this article. We hope this information is helpful for you as you build highly available and fault-tolerant infrastructures in the cloud. Stay tuned for more articles about AWS!

If you have any questions or feedback, feel free to leave a comment below.

How useful was this post?

Click on a star to rate it!

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Please, tell us what's wrong with this post, and we'll fix it ASAP!

Like this article?

Share on Facebook
Share on Twitter
Share on Linkdin
Share on Pinterest

Want to be an author of another post?

We’re looking for skilled technical authors for our blog!

Leave a comment

If you’d like to ask a question about the code or piece of configuration, feel free to use https://codeshare.io/ or a similar tool as Facebook comments are breaking code formatting.