Where a resource lives decides its latency, its failure blast radius, its price and which laws apply to its data.
AWS runs in Regions: independent geographic areas such as us-east-1 (N. Virginia) or eu-central-1 (Frankfurt). Each Region contains three or more Availability Zones (AZs), each one or more data centers with separate power, cooling and networking, linked to the other AZs by fast, low-latency fiber. An AZ can fail without taking the Region down, which is why highly available designs spread across at least two AZs.
Every service has a scope, and knowing it saves a lot of confusion:
- Global: IAM, Route 53, CloudFront, Organizations.
- Regional: S3 buckets, Lambda, DynamoDB, SQS, VPCs. Data stays in the Region unless you copy it out.
- Zonal: EC2 instances, EBS volumes, subnets. An EBS volume can only attach to instances in its own AZ.
Edge locations (hundreds of points of presence) serve CloudFront and Route 53 close to users. Local Zones and Outposts push compute further toward users or into your own data center.
AZ names such as us-east-1a are shuffled per account, so 1a in your account may be a different building from 1a in a partner's. When coordinating across accounts (for example for PrivateLink or capacity planning) use the AZ ID, such as use1-az1, which is the same everywhere.
Pick a Region by latency to users, data-residency rules, service and instance-type availability, and price, which differs between Regions.
Example
# All Regions enabled for this account
aws ec2 describe-regions --query 'Regions[].RegionName' --output text
# eu-central-1 us-east-1 us-west-2 ...
# AZ names vs the stable AZ IDs in one Region
aws ec2 describe-availability-zones --region eu-central-1 \
--query 'AvailabilityZones[].[ZoneName,ZoneId]' --output text
# eu-central-1a euc1-az2
# eu-central-1b euc1-az3
# eu-central-1c euc1-az1Remember
- Region = isolated geography; AZ = isolated data center group inside it
- Services are global, regional or zonal; check the scope before designing
- Spread across two or more AZs for availability, Regions for disaster recovery
- Use AZ IDs, not names, when matching zones across accounts
Watch out for
- Assuming us-east-1a is the same physical zone in every account.