AWS Global Infrastructure

AWS Global Infrastructure – An easy introduction

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 management console, run automation scripts, execute AWS CLI commands or deploy your cloud infrastructure defined in code (IaC) using tools like Terraform or AWS CDK.

A good understanding of AWS global cloud infrastructure is essential to achieving AWS Certified Solutions Architect Associate and AWS Certified Solutions Architect Professional certifications.

AWS Regions

AWS Region is designed to help cloud users isolate compute power, data, and networking in different geographic locations in AWS infrastructure. 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.

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 (command line interface), 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 and Canada.

How to pick up the AWS Region?

Usually, you pick up the AWS Region closest to your applications or service users. Choosing your AWS region by the proximity to your customers will give your end-users the ability to access your application with minimum network delays (minimum latency) and possibly get the best experience of using your application.

Alternative factors might include:

  • Compliance with data governance and legal requirements – some regulatory requirements dictate that your business data can’t leave a specific country or geographical region without the explicit permission of your clients. In that case, you must choose the AWS region based on your compliance requirements.
  • Service availability within the Region – new AWS services might not be available in all AWS Regions by the launch time. In that case, you might need to pick up the closest AWS Region where the service is available.
  • AWS resources pricing – AWS makes its pricing very transparent, but the services’ costs might differ from Region to Region. Check out the official AWS pricing page for more information about the costs of each service in each AWS Region.

To simplify your daily activities in the AWS Web console, you can select a default AWS region you wish to work on. To achieve this goal, in the navigation bar, choose your account name and then choose Settings to navigate to the Unified Settings page. Choose Edit next to Localization and default Region. Select your default Region, then choose Save changes.

AWS Availability Zones

What are AWS Availability Zones?

An Availability Zone (AZ) is a set of independent discrete 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 is 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. There are usually 3 AZs (sometimes 2) in each AWS Region. The maximum number of AZs in each Region is 6.

Interesting fact: very few people worldwide know where exactly AWS data centers are located.

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 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, 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 to you all the time.

How many Availability Zones should I use AWS?

The amount of Availability Zones you use depends on various factors such as application requirements, environment type, deployment purpose, etc. You can safely choose one AZ for development environments and simple applications. In contrast, it is best practice for UAT and production environments to deploy the application in at least two Availability zones. Such an approach allows you to ensure that if one local group of AWS data centers goes down for any reason, your application continues serving end-users traffic in another set of data centers. 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 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?

Let’s compare AWS Local Zone vs. Availability Zone. AWS LocalZone is bringing 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. At the same time, 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. 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), delivering content with the best possible performance. For more information about Edge Locations, check the What is Amazon CloudFront article at AWS documentation.

AWS Regional Edge Caches are CloudFront locations 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.

How to get a list of AWS Edge locations?

There’s no way to list AWS Edge locations using the AWS CLI or AWS SDK. If you need more information about this topic, check out the most up-to-date AWS Edge locations map, which describes AWS edge locations around the globe.

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 data center (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 linked via trans-oceanic cables across the Atlantic, Pacific, and Indian Oceans, the Mediterranean, Red Sea, and South China Seas.

Global Infrastructure Map
AWS Global Network Infrastructure

You can find more AWS Region maps here.

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

AWS Regional and Global services

Almost all AWS services are regional. Here, you can find a complete list of AWS regional product services.

Only several AWS services are global:

Summary

This article covers AWS Global Infrastructure, Regions, and Availability Zones. 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 comment below.

Similar Posts