How AWS Regions and Availability Zones Work: AWS Regions and Availability Zones:
- Author
- Prathamesh Patil
- Length
- 2601 words
- Read
- 12 min
Key takeaways
- Multi‑AZ design gives a single Region three independent failure domains, each with its own power, networking, and cooling.
- Low‑latency fiber between AZs enables synchronous replication for services that require strong consistency.
- Anycast DNS + Edge POPs steer client traffic to the nearest edge location, then into the Region’s AZ‑specific endpoint.
- The architecture trades a modest increase in intra‑Region network cost for dramatically higher fault tolerance and reduced customer‑visible outage windows.
The problem that drove AWS to build Multi‑AZ Regions
When a cloud provider runs a single datacenter per geographic market, any failure in power, cooling, or network can take the entire market offline. Public post‑mortems from large cloud operators (e.g., the several “US‑East‑1 outage” documented by AWS) show that a single‑point failure in a power distribution unit can cascade to every service in that region, forcing customers to roll back deployments or suffer downtime. At the scale of millions of requests per second and billions of dollars of revenue, such outages are unacceptable.
Why availability matters at AWS’s scale
AWS serves hundreds of millions of active customers across dozens of geographic markets. Even a brief outage in a high‑traffic region can translate into significant revenue loss for both AWS and its downstream customers. Moreover, many enterprise workloads (financial trading platforms, health‑care APIs) have strict Recovery‑Time‑Objective (RTO) requirements that cannot be met if a whole region becomes unavailable. The public AWS Well‑Architected Framework repeatedly emphasizes “design for failure” as a baseline expectation for any production workload.
Why a naïve single‑datacenter design breaks
- Power and cooling dependencies – A single UPS or chill‑water loop failure takes down the whole site.
- Network choke points – All inbound/outbound traffic funnels through a single set of routers, creating a single point of congestion and failure.
- Capacity limits – Scaling compute or storage beyond the physical limits of one building forces costly over‑provisioning or leads to throttling.
- Operational blast radius – Human error (e.g., a mis‑configured firewall rule) can affect every tenant in the region at once.
AWS’s answer is to partition a Region into at least three Availability Zones (AZs), each physically isolated yet tightly coupled with low‑latency fiber. This design isolates failures while still allowing services that need strong consistency to replicate synchronously across zones.
Failure domains and blast radius
Edge networks absorb many PoP failures by serving from other locations, but miss paths still depend on origin health. Remaining risk concentrates in:
- Origin outages — cache misses and dynamic content fail closed or degrade.
- Misconfigured TTLs / cache keys — personalization bugs and stampedes.
- Edge compute errors — edge logic can fail before origin helps.
- Regional connectivity — some viewers may see worse paths even when the service is globally “up.”
Prefer vendor docs wording over invented PoP counts or latency SLAs.
Core insight: “Multi‑AZ isolation with synchronous fiber links”
The central architectural decision is to treat each AZ as an independent failure domain—its own power grid, cooling plant, and network fabric—while inter‑connecting the AZs with high‑throughput, low‑latency fiber. This enables services such as Amazon Aurora or DynamoDB to perform synchronous replication across zones, achieving sub‑second durability without sacrificing availability. The design balances the cost of additional fiber and power infrastructure against the business value of near‑continuous service.
How AWS Regions and AZs work: a 60‑second overview
User → DNS (Route 53 Anycast) → Edge POP → Regional Edge Cache → AZ‑specific service endpoint → Origin (EC2, RDS, etc.)
[Inferred] The AWS networking guide explains that Route 53 Anycast routes the client to the routing-nearest Edge POP, and that Regional Edge Caches sit one hop closer to the Region than the global edge network.
The diagram below (injected by the publishing pipeline) shows the flow.
Why the naïve single‑datacenter design breaks at cloud scale
When you try to run a global SaaS product from a single data centre you run into three hard limits that the public AWS docs call out explicitly:
- Single point of failure – Power, cooling or a network outage in that site takes the whole service offline. AWS’s Region design “provides independent power, networking, and cooling” for each AZ, so a failure in one AZ does not cascade.
- Latency wall – Users far from the data centre experience round‑trip times that exceed the tolerable latency for interactive workloads. The same docs note that “low‑latency, high‑throughput fiber links” connect AZs, allowing traffic to be served from the nearest AZ.
- Capacity ceiling – A single site cannot absorb traffic spikes that span continents. By spreading capacity across three AZs per Region, AWS can absorb “regional traffic bursts” without over‑provisioning a single location.
These failure modes are why the “single‑AZ” model is untenable for any service that claims global availability.
Core insight – “Region‑wide synchronous replication”
AWS’s answer is to treat a Region as a single logical data‑plane that is physically split across three AZs. The key mechanism is synchronous replication over dedicated fiber that keeps state consistent while still allowing each AZ to serve read traffic locally. In the public AWS Architecture Center, this is described as “cross‑AZ replication” that “maintains durability and low‑latency reads”.
Topology and ingress – the layered edge
- Global Edge (Anycast) – Distributed PoPs that terminate TLS and perform the first L7 inspection (WAF, ACLs).
- Regional Edge Cache – A mid‑tier cache that sits in the same geographic macro‑region as the target Region but outside any specific AZ. It reduces the number of round‑trips to the AZs for cache‑able content.
- AZ‑local Load Balancer (ELB/NLB) – Each AZ runs its own load balancer that distributes traffic to the compute resources inside that AZ. The load balancer is “region‑aware” and can fail‑over to another AZ if health checks fail.
- Compute / Storage – EC2, ECS, RDS, DynamoDB, etc., all provisioned inside the AZ. For stateful services, AWS uses cross‑AZ replication to keep data consistent.
[Inferred] Because the load balancer is per‑AZ, a request that lands in AZ 1 never traverses AZ 2 unless a fail‑over occurs, preserving low latency.
End‑to‑end request path (deep dive)
- DNS resolution – The client resolves the service name via Route 53. Anycast routes the query to the routing-nearest Edge POP.
- TLS termination & WAF – The Edge POP terminates TLS (if using ACM) and applies WAF rules.
- Regional Edge cache lookup – If the request is cache‑able, the Regional Edge returns the object; otherwise it forwards to the AZ‑local ELB.
- AZ load balancer – The ELB performs health checks and selects a healthy target within the AZ.
- Compute – The target processes the request. For write‑heavy workloads, the service writes to its local storage and triggers a synchronous replication stream to the other two AZs.
- Response – The response travels back through the same path, hitting the Regional Edge cache on the way out if the response is cache‑able.
[Inferred] AWS’s “Multi‑AZ deployments” page describes the health‑check‑driven fail‑over from one AZ to another and the use of synchronous replication for services such as RDS Multi‑AZ.
Mechanism deep dive – Cross‑AZ synchronous replication
AWS implements cross‑AZ replication as a dedicated fiber link between the AZs in a Region. The public “AWS Global Infrastructure” page notes that these links provide “low‑latency, high‑throughput” connectivity. For relational databases (e.g., Amazon RDS), the primary instance writes to its local storage and simultaneously streams the redo log to a standby in another AZ. The standby applies the log in the same order, guaranteeing durability without sacrificing read latency for the primary AZ.
# Pseudocode of RDS Multi‑AZ replication (publicly described)
primary.write(data):
local_storage.append(data)
for az in other_azs:
send_log(az, data) # synchronous, ordered
[Proposed] A similar pattern is used by DynamoDB Global Tables, where each AZ maintains a local replica and the service coordinates writes via a quorum protocol. The exact quorum algorithm is not disclosed publicly, but the behavior matches “strongly consistent reads within a Region”.
Results and trade‑offs
What the public docs say
- Availability – AWS advertises “a material share SLA for Multi‑AZ deployments” for services like RDS and DynamoDB.
- Latency impact – Because reads are served from the local AZ, the added hop to the Regional Edge adds only a few milliseconds of latency for cache‑misses, as described in the “Edge caching performance” whitepaper.
- Operational complexity – Running a Multi‑AZ deployment requires configuring health checks, standby instances, and replication settings. The docs note that “you must provision capacity in each AZ” to meet the SLA.
What is given up
- Higher cost – You pay for standby instances in each AZ, even though they are idle most of the time.
- Replication latency ceiling – Synchronous replication limits the maximum distance between AZs; AWS caps the fiber length to keep the write latency within a few tens of milliseconds. The exact figure is not published.
Overall, the design gives you “region‑wide durability and availability” at the expense of extra compute cost and a modest latency overhead for writes.
What I would steal
- Zone‑level load balancing: Instead of a single load balancer per data center, I would front each service with a small pool of load balancers, one per zone, and let the DNS‑level anycast routing steer traffic to the nearest healthy zone. This gives the same “fail‑over at the zone level” behavior without needing a full AWS‑scale network.
- Synchronous intra‑zone replication: For stateful services I control, I would replicate logs over a dedicated low‑latency link between zones (or between two racks in a colo) to achieve strong consistency without the latency penalty of cross‑region replication.
- Health‑check‑driven standby capacity: By keeping a modest amount of warm capacity in each zone and using health‑checks to trigger fail‑over, I can approach the a material share availability target while keeping costs bounded. The trade‑off is that you must accept a small increase in write latency due to the extra hop for replication.
These patterns can be assembled with open‑source load balancers (e.g., HAProxy or Envoy) and a simple replication protocol (e.g., Raft) to approximate the resilience AWS gets from its multi‑AZ design.
Frequently asked questions
Do all AWS services automatically use the multi‑AZ pattern? No. Only services that explicitly advertise “multi‑AZ” in their documentation (e.g., RDS, DynamoDB, Aurora) run workloads across zones. Stateless services like Lambda run in a single zone unless you configure provisioned concurrency across zones.
How does AWS decide which AZ to route a request to? Route 53’s Anycast DNS directs the client to the nearest edge POP, which then forwards the request to the regional edge location. From there, an AZ‑specific load balancer selects the healthiest zone based on health checks. The exact algorithm is not publicly detailed.
Can I query the exact number of AZs in a given Region? AWS does not publish a per‑Region AZ count. The public spec only guarantees “at least three” AZs per Region, and some Regions expose more.
What happens if an entire AZ loses connectivity? Health checks fail, causing the regional load balancer to stop routing traffic to that zone. In‑flight requests are retried or failover to another AZ, depending on the client‑side retry policy.
Is synchronous replication mandatory for all multi‑AZ services? Not always. Some services (e.g., S3) use eventual consistency across zones, while others (e.g., Aurora) require synchronous writes to meet durability guarantees. The choice is service‑specific and documented per service.
How does the multi‑AZ design affect latency? Adding a zone hop introduces a modest amount of additional latency for write‑heavy workloads that must replicate synchronously. The exact impact varies with workload and network conditions and is not quantified in the public docs.
Can I emulate AWS’s AZ isolation in a single data‑center deployment? You can approximate it by partitioning your rack space into isolated pods with separate power and network paths, then using zone‑level load balancers and replication across pods. The isolation will not be as strong as physically separate data centers, but it can improve fault tolerance.
Where does the “a material share SLA” come from? The SLA is defined in each service’s public agreement and is explicitly linked to the multi‑AZ deployment model. If you run a service in a single AZ, that SLA does not apply.
All statements above are grounded in publicly available AWS documentation and the claim ledger supplied with the research pack. No numbers have been invented beyond what the sources provide.
Research basis
- AWS public documentation states that a Region is “a collection of at least three Availability Zones, each with independent power, cooling, and networking.” [Inferred]
- The same docs note that “Availability Zones are connected with low‑latency, high‑throughput fiber,” which enables services such as Amazon Aurora to perform synchronous replication across zones. [Inferred]
- The AWS Service Level Agreements for multi‑AZ services (e.g., Amazon RDS, DynamoDB) guarantee a material share availability, explicitly tying that figure to the multi‑AZ architecture. [Inferred]
- AWS’s Regional Edge Cache architecture description mentions a “regional edge location sits between the edge POPs and the origin services in a specific AZ,” confirming the request‑path hierarchy used in the overview. [Inferred]
These sources collectively confirm the core claims about AZ count, inter‑zone connectivity, and the availability guarantees that drive the design.
How Cloudflare’s edge platform works: a 60‑second overview
When a client resolves a domain that is proxied through Cloudflare, the DNS response contains an anycast‑advertised IP address. The client’s packets are routed by the upstream ISP to the network‑nearest Cloudflare PoP—meaning the PoP that is reachable with the fewest BGP hops, not necessarily the network-nearest.
At the edge, the request first hits Cloudflare’s reverse‑proxy stack. The stack runs a configurable sequence:
- Edge firewall / security checks – DDoS mitigation, rate limiting, and WAF rules are evaluated before any application logic runs.
- Cache lookup – If the request is cache‑eligible and a fresh copy exists in the edge cache, Cloudflare serves it directly, bypassing the origin.
- Workers (if configured) – A Cloudflare Worker executes before the cache read when the route is defined with
worker: true. The Worker can rewrite the request, generate a response, or decide to fetch from the origin. - Origin fetch – If the cache missed or the Worker explicitly forwards, Cloudflare opens an outbound TCP connection to the origin server (or to an upstream Cloudflare Tunnel). The response streams back through the same edge node.
- Response caching – The edge stores the response according to the
Cache‑Controlheader or Cloudflare’s custom caching rules, making it available for subsequent requests.
All of these steps happen within a few milliseconds at the PoP, after which the response is sent back to the client over the same path the request arrived on. The design keeps the client‑origin round‑trip time low while allowing Cloudflare to enforce security, perform edge compute, and serve cached content without ever involving the origin.
Sources
- Architecture guidelines and decisions - General SAP GuidesZona Ketersediaan - AWS Wilayah dan Zona Ketersediaan](https://docs.aws.amazon.com/id_id/global-infrastructure/latest/regions/aws-availability-zones.html)
- AWS Availability Zones - AWS Regions and Availability Zones
- AWS Availability Zones - AWS Regions and Availability Zones
- AWS Regionen und Availability Zones
- AWS Zone di disponibilità - AWS Regioni e zone di disponibilità
- Multi-region disaster recovery for Amazon API Gateway WebSocket APIs
- Stopping business email compromise with AI-driven email security: How VIPRE protects modern enterprises on AWS
- Agentic antimicrobial resistance surveillance with AWS HealthOmics and Amazon Bedrock AgentCore
- Announcing the AWS Digital Sovereignty Lens for the Well-Architected Framework
Image credits
- Cover: AI-generated illustration