Cloud 14 min read

AWS CLI First #4: AWS Global Infrastructure Mastery: Regions, Availability Zones & AZ IDs via CLI

Master the physical foundation of AWS. Explore AWS global geography, the 4 golden rules of region selection, Availability Zone physical architecture, AZ-ID mapping across multi-account organizations, and managing opt-in regions entirely from the terminal.

Mohammad Rizky Prawira portrait
Mohammad Rizky Prawira
terminal Series Guide Part 4 of 17

AWS with CLI: The Terminal-First Mastery Path

Part of the CLI-first comprehensive learning path from foundational setup to production cloud architectures.

In Module 1 (Parts 1–3), we established a robust identity and access management baseline: root containment, automated STS role assumption with MFA, and least-privilege permission boundaries.

Now, we enter Module 2: Global Infrastructure & VPC Networking.

Before we provision custom VPCs, subnets, and routing tables in Part 5, we must answer a foundational question that every senior cloud architect faces:

“Where should our workloads physically live, and how do AWS data centers actually communicate under the hood?”

In this guide, we will master AWS Global Infrastructure purely through the terminal—exploring geographic Regions, the physical engineering of Availability Zones, the secret behind AZ-ID randomization, and how to manage opt-in regions via the AWS CLI.


💰 Estimated Lab Cost

ComponentUsage in LabAWS Cost
AWS Global Infrastructure DiscoverySSM & EC2 Describe APIs$0.00 (100% Free)
AZ-ID Mapping QueriesRegion & Zone Discovery$0.00 (100% Free)
Total Estimated CostComplete Hands-On Session$0.00 (100% Free)

Core Concept: The AWS Global Footprint Hierarchy

The AWS global cloud network is structured into a 4-tier physical hierarchy:

+-------------------------------------------------------------------------------+
|                         AWS Global Infrastructure Footprint                   |
+-------------------------------------------------------------------------------+
|                                                                               |
|  [ 1. Geographic Regions ] (34+ Globally)                                     |
|     * Physical geographic areas (e.g. Singapore 'ap-southeast-1', Tokyo)      |
|     |                                                                         |
|     +---> [ 2. Availability Zones (AZs) ] (108+ Globally)                     |
|              * 3 or more isolated data center clusters per Region             |
|              * Sub-millisecond private fiber connectivity (<1-2ms)            |
|              |                                                                |
|              +---> [ Discrete Physical Data Centers ]                         |
|                       * Individual buildings with redundant power & cooling   |
|                                                                               |
|  [ 3. Edge Network (PoPs) ] (600+ Points of Presence)                         |
|     * CloudFront CDN caches & Route 53 DNS edge servers in major cities       |
|                                                                               |
|  [ 4. Specialized Infrastructure ]                                            |
|     * Local Zones, AWS Outposts (on-prem hardware), AWS Wavelength (5G telco) |
|                                                                               |
+-------------------------------------------------------------------------------+

Core Concept: The 4 Golden Rules of Region Selection

When designing production systems, choosing an AWS Region is not arbitrary. Experienced cloud architects evaluate 4 strict criteria:

                  +-----------------------------------+
                  |   The 4 Region Selection Rules    |
                  +-----------------------------------+
                                    |
     +-----------------+------------+------------+-----------------+
     |                 |                         |                 |
     v                 v                         v                 v
[ 1. Compliance ] [ 2. Latency ]            [ 3. Features ]   [ 4. Cost ]
Data Residency    Round-trip speed          Service tier      15-40% price
& Legal Mandates  to end-users              availability      variance

Many countries enforce strict Data Residency Regulations (e.g. GDPR in the European Union, the Personal Data Protection Act / PDP in Singapore and Indonesia, HIPAA in healthcare). If local regulations mandate that customer financial or personal data must not leave national borders, you must deploy in that country’s sovereign region (e.g., ap-southeast-3 for Indonesia or eu-central-1 for Germany).

2. Proximity & Network Latency to End Users

The speed of light through fiber-optic cable is roughly 5 milliseconds per 1,000 kilometers. Deploying a web application in Northern Virginia (us-east-1) for users in Southeast Asia incurs a baseline network penalty of 180–220ms round-trip latency. Deploying in Singapore (ap-southeast-1) delivers 5–15ms latency.

3. AWS Service Availability (Flagship vs. Regional Services)

Not all AWS services are available in every region on launch day. Flagship regions (like us-east-1 N. Virginia, us-west-2 Oregon, and eu-west-1 Ireland) receive new AI models, hardware instance types, and niche services months before newer or smaller regional data centers.

4. Regional Pricing Discrepancies

AWS charges different rates across regions due to local real estate, electrical power, taxation, and import costs:

  • An m5.large EC2 instance costs $0.096/hour in us-east-1 (N. Virginia).
  • The exact same instance costs $0.125/hour in ap-southeast-1 (Singapore) and $0.148/hour in sa-east-1 (São Paulo).

Core Concept: The Physical Anatomy of an Availability Zone (AZ)

A common misconception among beginner engineers is that an Availability Zone is simply “a single server rack” or “one computer room.”

An Availability Zone is a distinct physical cluster of one or more discrete data centers.

+-------------------------------------------------------------------------------+
|                       Physical Anatomy of an AWS Region                       |
+-------------------------------------------------------------------------------+
|                                                                               |
|  [ Availability Zone A ]                       [ Availability Zone B ]        |
|  +--------------------------------+            +----------------------------+ |
|  | Data Center 1  | Data Center 2 |            | Data Center 3              | |
|  | (Building A)   | (Building B)  |            | (Building C)               | |
|  +--------------------------------+            +----------------------------+ |
|          \                                              /                     |
|           \                                            /                      |
|            <===== Redundant Ultra-Low Latency Fiber =====>                    |
|                   (<1-2ms Round-Trip Ping Time)                               |
|                                                                               |
+-------------------------------------------------------------------------------+

Physical Design Safeguards:

  1. Meaningful Physical Separation: AZs in the same region are located 10 to 60 miles apart—far enough so that a local flood, earthquake, city power blackout, or fiber cut will not impact neighboring AZs.
  2. Dedicated Power Grids: Each AZ is wired to independent utility substations and backed by massive on-site diesel power generation plants.
  3. Private Dark Fiber Backbone: All AZs within a region are connected via dedicated, redundant optical dark fiber, enabling synchronous database replication and sub-2ms network round-trip times.

Core Concept: The “AZ Randomization” Gotcha & AZ IDs

Here is an enterprise secret that surprises many AWS engineers:

[!WARNING] ap-southeast-1a in Account A is NOT the same physical building as ap-southeast-1a in Account B!

Why AWS Randomizes Zone Names:

If AWS assigned the same physical data center to ap-southeast-1a for every customer, 90% of developers would deploy all their servers to a by default, overloading Building #1 while Building #2 and #3 sat half-empty.

To distribute traffic evenly across physical real estate, AWS randomly hashes the letter suffixes (a, b, c) for each AWS Account.

+-------------------------------------------------------------------------------+
|                     The AZ Randomization Mapping Problem                      |
+-------------------------------------------------------------------------------+
|                                                                               |
|  [ AWS Account A (e.g. Staging) ]          [ AWS Account B (e.g. Production) ]|
|  - Zone Name: ap-southeast-1a              - Zone Name: ap-southeast-1a       |
|    |                                         |                                |
|    +---> [ Physical: apse1-az1 ]             +---> [ Physical: apse1-az3 ]    |
|                                                                               |
|  ---------------------------------------------------------------------------  |
|  RESULT: If you peer these VPCs assuming they are in the same building,      |
|          you will experience inter-AZ latency and data transfer costs!        |
|                                                                               |
+-------------------------------------------------------------------------------+

The Solution: The Immutable ZoneId

AWS assigns a permanent, physical identifier called the ZoneId (e.g. apse1-az1, apse1-az2, apse1-az3).

When coordinating low-latency clusters, cross-account VPC peering, or AWS Resource Access Manager (RAM) shares across multi-account enterprises, always map subnets by ZoneId, not the letter name.


Core Concept: Global vs. Regional Services

In AWS CLI commands, understanding whether a service is Global or Regional dictates whether you need to pass the --region argument:

Service ClassificationServicesCLI --region RequirementControl Plane Location
Global ServicesIAM, Route 53, CloudFront, WAF, OrganizationsOptional / IgnoredCentralized in us-east-1
Regional ServicesVPC, EC2, RDS, Lambda, S3, DynamoDB, ECSRequired (via flag, env var, or config)Isolated per Region

(Note: While S3 bucket names are globally unique, every individual S3 bucket is physically hosted inside a specific AWS Region).


Phase 1: Querying AWS Regions via CLI

Let’s begin by acting as our administrator persona (cloud-dev-admin) to query available global regions.

Step 1: List All Enabled Regions

aws ec2 describe-regions \
  --profile cloud-dev-admin \
  --query "Regions[?OptInStatus=='opt-in-not-required' || OptInStatus=='opted-in'].[RegionName, Endpoint]" \
  --output table

Terminal Output:

-----------------------------------------------------------------------
|                           DescribeRegions                           |
+-------------------+-------------------------------------------------+
|  ap-southeast-1   |  ec2.ap-southeast-1.amazonaws.com               |
|  ap-southeast-2   |  ec2.ap-southeast-2.amazonaws.com               |
|  ap-northeast-1   |  ec2.ap-northeast-1.amazonaws.com               |
|  us-east-1        |  ec2.us-east-1.amazonaws.com                    |
|  us-west-2        |  ec2.us-west-2.amazonaws.com                    |
|  eu-west-1        |  ec2.eu-west-1.amazonaws.com                    |
+-------------------+-------------------------------------------------+

🔍 How to Validate:

Check your current effective CLI region default:

aws configure get region --profile cloud-dev-admin

Phase 2: Inspecting Availability Zones & Discovering Your Physical ZoneId

Let’s query the Singapore region (ap-southeast-1) to discover our account’s physical ZoneId mapping.

Step 1: Query Singapore Availability Zones & Zone IDs

aws ec2 describe-availability-zones \
  --region ap-southeast-1 \
  --profile cloud-dev-admin \
  --query "AvailabilityZones[*].[ZoneName, ZoneId, State, ZoneType]" \
  --output table

Terminal Output:

--------------------------------------------------------------------
|                     DescribeAvailabilityZones                    |
+--------------------+------------+------------+-------------------+
|  ap-southeast-1a   |  apse1-az1 |  available |  availability-zone|
|  ap-southeast-1b   |  apse1-az2 |  available |  availability-zone|
|  ap-southeast-1c   |  apse1-az3 |  available |  availability-zone|
+--------------------+------------+------------+-------------------+

🔍 How to Validate:

If you manage multiple AWS accounts, run this command against both profiles:

# Account 1 (Admin)
aws ec2 describe-availability-zones --region ap-southeast-1 --profile cloud-dev-admin --query "AvailabilityZones[*].[ZoneName, ZoneId]" --output text

# Notice that apse1-az1 may point to a different letter in a separate AWS account!

Phase 3: Managing Opt-In Regions via AWS Account CLI

AWS introduces newer regions (e.g. Jakarta ap-southeast-3, Zurich eu-central-2, Spain eu-south-2, UAE me-central-1) as Opt-In Regions. They are disabled by default to prevent unauthorized multi-region sprawl.

Let’s learn how to inspect and enable an opt-in region directly from the terminal.

Step 1: List All Opt-In Regions and Their Current Status

aws ec2 describe-regions \
  --all-regions \
  --query "Regions[?OptInStatus!='opt-in-not-required'].[RegionName, OptInStatus]" \
  --output table \
  --profile cloud-dev-admin

Terminal Output:

--------------------------------------------
|              DescribeRegions             |
+----------------------+-------------------+
|  ap-southeast-3      |  not-opted-in     |
|  eu-central-2        |  not-opted-in     |
|  eu-south-2          |  not-opted-in     |
|  me-central-1        |  not-opted-in     |
+----------------------+-------------------+

Step 2: Check Region Opt-In Status via AWS Account API

aws account get-region-opt-status \
  --region-name ap-southeast-3 \
  --profile cloud-dev-admin

Expected Output:

{
    "RegionName": "ap-southeast-3",
    "RegionOptStatus": "DISABLED"
}

Step 3: Enabling an Opt-In Region via CLI

To enable Jakarta (ap-southeast-3) for your account:

aws account enable-region \
  --region-name ap-southeast-3 \
  --profile cloud-dev-admin

[!NOTE] Region activation takes 5 to 15 minutes as AWS securely provisions your account’s cryptographic signing keys and internal routing across the target data centers. You can poll the status until it becomes ENABLED:

aws account get-region-opt-status \
  --region-name ap-southeast-3 \
  --profile cloud-dev-admin

Phase 4: Mastering AWS CLI Region Resolution Order

How does the AWS CLI determine which region to execute your command in?

The AWS CLI follows a strict 4-tier Precedence Order:

+-------------------------------------------------------------------------------+
|                      AWS CLI Region Resolution Hierarchy                      |
+-------------------------------------------------------------------------------+
|                                                                               |
|  1. Highest Priority: Explicit Command Line Flag                              |
|     `aws ec2 describe-instances --region ap-southeast-1`                      |
|                                                                               |
|  2. Second Priority: Environment Variable                                     |
|     `export AWS_DEFAULT_REGION="ap-southeast-1"` or `export AWS_REGION=...`  |
|                                                                               |
|  3. Third Priority: Named Profile Configuration                              |
|     `~/.aws/config` -> `[profile cloud-dev-admin] region = ap-southeast-1`    |
|                                                                               |
|  4. Lowest Priority: EC2 Instance Metadata Service (IMDS)                    |
|     (Automatically queries local VM hypervisor when running inside AWS)       |
|                                                                               |
+-------------------------------------------------------------------------------+

Hands-On Test: Overriding Region on the Fly

Test how an explicit CLI flag overrides your default profile region:

# Query Singapore (Default Profile)
aws ec2 describe-availability-zones \
  --profile cloud-dev-admin \
  --query "AvailabilityZones[0].RegionName" \
  --output text

# Override to Tokyo (ap-northeast-1) on the fly without changing config files
aws ec2 describe-availability-zones \
  --region ap-northeast-1 \
  --profile cloud-dev-admin \
  --query "AvailabilityZones[0].RegionName" \
  --output text

Phase 5: High Availability (Multi-AZ) vs. Disaster Recovery (Multi-Region)

Understanding the distinction between Multi-AZ and Multi-Region architectures is essential before building real VPC networks:

+-----------------------------------------------------------------------------------+
|                        Multi-AZ vs Multi-Region Architecture                      |
+-----------------------------------------------------------------------------------+

 1. MULTI-AZ (High Availability - HA)
    [ Singapore AZ-a ] <--- Synchronous (<2ms) ---> [ Singapore AZ-b ]
    - Goal: 99.99% uptime against hardware/rack/building failure.
    - Automatic instant failover with ZERO data loss (RPO = 0).

 2. MULTI-REGION (Disaster Recovery - DR)
    [ Singapore Region ] <--- Asynchronous (Internet/Backbone) ---> [ Tokyo Region ]
    - Goal: Business continuity against catastrophic regional failure or undersea cable cut.
    - Asynchronous data replication with seconds of lag.
MetricMulti-AZ (High Availability)Multi-Region (Disaster Recovery)
ScopeWithin 1 Geographic Region (e.g. Singapore)Spans 2+ Regions (e.g. Singapore + Tokyo)
ReplicationSynchronous (<2ms latency)Asynchronous (tens of milliseconds)
RPO (Recovery Point Objective)Zero data loss (RPO = 0)Near-zero (RPO = seconds to minutes)
RTO (Recovery Time Objective)Instant / Automated (seconds)Minutes to hours (failover routing)
Cost & ComplexityStandard (native in RDS/EKS/ALB)Advanced (multi-region database replication, global Route 53 routing)

Quick Reference: Essential Global Infrastructure CLI Commands

ActionCLI Command
List All Available Regionsaws ec2 describe-regions --output table
List All Regions (Including Disabled)aws ec2 describe-regions --all-regions --output table
List Availability Zones & Zone IDsaws ec2 describe-availability-zones --region <region> --query "AvailabilityZones[*].[ZoneName, ZoneId]" --output table
Get Region Opt-In Statusaws account get-region-opt-status --region-name <region>
Enable Opt-In Regionaws account enable-region --region-name <region>
Disable Opt-In Regionaws account disable-region --region-name <region>
Inspect Configured Profile Regionaws configure get region --profile <profile>

Summary & What’s Next

In this fourth installment of AWS with CLI, we explored the physical reality of the cloud:

  1. We broke down the AWS Global Footprint across Regions, AZs, and Edge Networks.
  2. We mastered the 4 Golden Rules of Region Selection (Compliance, Latency, Features, and Cost).
  3. We investigated the physical construction of Availability Zones and uncovered the AZ-ID randomization secret (ZoneId).
  4. We managed Opt-In Regions via the aws account CLI API.
  5. We reviewed the CLI region resolution precedence hierarchy.

Now that our geographic foundation is crystal clear, we are ready to build physical networks inside our chosen region.

In Part 5, we build our Production VPC Architecture & Multi-AZ Routing from Scratch, provisioning custom VPCs, public and private subnets, Internet Gateways, NAT Gateways, and Route Tables entirely via the CLI!

Related & Recommended Guides

Continue exploring related systems architectures and engineering field notes.