Remove one Availability Zone—what still works?
Test high availability by removing the named failure domain and tracing every required target, route, state store, and dependency that remains.
LESSON GOALS
By the end, you can
- Trace a complete service path after an instance or Availability Zone fails and identify the first dependency that stops the business operation.
- Distinguish instance replacement, Multi-AZ availability, Regional disaster recovery, and load-balancer health behavior.
01
Name the failure before adding replicas
“Highly available” is incomplete without a failure. Start with one business operation, such as checkout. Then name what disappears: one process, one instance, one Availability Zone, or an entire Region. State how much service must remain and for how long.
Two instances in one Availability Zone can survive one instance failure. They cannot survive losing that zone. Multi-AZ means the required in-Region path uses more than one Availability Zone. A Regional outage requires a separate disaster-recovery design.
Draw the whole path: entry point, subnets, routes, load balancer, targets, state, database, egress, and external dependencies. Remove the failed resources and trace both the request and response. The first required component that no longer exists is the real failure.
This method prevents replica counting from becoming the goal. Five application copies do not help when all five depend on one unavailable route or writer. Count complete surviving business paths, not only resources.
02
Make every required tier survive the same failure
Place enough stateless capacity in at least two Availability Zones before relying on emergency scale-out. An Auto Scaling group can maintain EC2 targets across selected zones. Elastic Load Balancing sends traffic to registered targets according to health.
The surrounding path must also exist in each required zone. A healthy application target is useless if its route, NAT path, database, shared mount, or payment dependency exists only in the failed zone.
Health checks observe a configured endpoint; they do not prove every business operation works. When all registered targets are unhealthy, documented ALB and NLB fail-open conditions can still route traffic. Treat that as degraded routing and check the application response separately.
Keep health probes specific enough to detect the dependency required by the operation, but do not expose secrets. A shallow process check can stay green while checkout fails; an unnecessarily deep check can remove every target during one optional dependency outage.
03
Recalculate capacity and response after removal
During an Availability Zone test, cross out every resource in that zone. Recalculate surviving target capacity, IP space, routes, quotas, and startup time. Then send a real request and observe the business result.
Use timeouts, queues, and degraded behavior to contain optional dependency failures. Multiple copies of the same bad deployment are not fault tolerant, so keep immutable versions and a tested rollback path.
Measure successful business operations, latency, errors, healthy targets by zone, and surviving capacity. Extra standby capacity has a cost, but removing it because normal traffic is low contradicts an Availability Zone survival requirement.
Record the expected result before the game day. If the test is meant to preserve half of peak checkout, a surviving but overloaded zone is a failed result. Recovery time and useful capacity belong in the same claim.
A passing test names what remained degraded as well as what worked. Record optional features lost during the failure so the availability claim stays precise.
DECISION TABLE
Compare the architecture constraints
| requirement | choose | because | reject |
|---|---|---|---|
| Survive one instance failure | Health replacement with at least two targets | Failure scope is one resource | One singleton remains a SPOF |
| Survive one AZ failure | Minimum viable capacity and data path in multiple AZs | Every required path survives AZ removal | Two instances in one AZ do not |
| Survive Regional disruption | Explicit multi-Region DR | Multi-AZ remains in one Region | A second AZ is not DR |
| All ALB targets unhealthy but registered | Treat routing as fail-open degraded; test response | Health and response differ | Assuming no route is incorrect |
GUIDED WORKED SCENARIO
Reason from the stated constraints
This is a guided example, not a question to memorise. The knowledge check uses new situations to test the same reasoning.
Checkout uses an ALB and four app targets across two AZs, but one database and NAT gateway in AZ-a. AZ-a loss must retain 50% capacity.
Requirements
- Serve after either AZ fails
- Trace both directions
- Keep database and payment reachable
- Separate target routing from application success
Reasoning path
- Remove AZ-a and recalculate dependencies.
- Targets remain but database and NAT do not, so design fails.
- Use a named Multi-AZ database and complete per-AZ egress.
- Load-test remaining capacity and responses.
Why it wins
- It removes residual single-AZ dependencies.
- Packet and application outcomes are separate.
Why the alternatives lose
It does not survive AZ-a loss.
Becomes correct when: Only instance failure is in scope.DNS cannot repair dependencies.
Becomes correct when: A separately healthy endpoint exists and DNS timing meets RTO.All-unhealthy fail-open can route to registered targets.
Becomes correct when: Some healthy targets remain and are selected.INTERACTIVE ARCHITECTURE VISUAL
Remove the failure domain
Choose a failure, cross out what disappears, and follow checkout until the first required dependency fails.
× Request stopsThe surviving app target cannot reach a database. Repair this first failed gate.
Read the diagram as text
Two-zone trace: remove AZ-a, then check entry, healthy target, route, database, egress, and checkout response in order. The first missing required component is the failure; adding only more application targets does not repair it.
KNOWLEDGE CHECK
Answer one question at a time
Pass every question to complete this lesson. Each answer includes reasoning before you continue.
KEY TERMS
Glossary
- High availability (HA)
- A design that keeps a stated business operation available through a named failure with limited interruption.
- Fault tolerance
- The stronger claim that the stated operation continues correctly despite the named fault.
- Failure domain
- A set of resources that can fail together, such as one instance, Availability Zone, or Region.
- Availability Zone (AZ)
- An isolated location within an AWS Region with independent infrastructure.
- Multi-AZ
- A service or architecture mode that uses more than one Availability Zone in one Region.
- Single point of failure (SPOF)
- One required component whose failure stops the business operation.
- Health check
- A configured probe used to evaluate a target or endpoint.
- Fail open
- Continuing to route under a degraded all-unhealthy condition rather than blocking all traffic.
- Surviving capacity
- The useful workload capacity remaining after the named failure.
- Disaster recovery (DR)
- A tested way to restore or continue service after a larger disruption, such as a Regional outage.
PRIMARY SOURCES
Verify the claims
- primaryReliability Pillar – AWS Well-Architected Frameworkaws-wa-reliability-pillar · retrieved 2026-07-29
- primaryDesign principlesaws-reliability-design-principles · retrieved 2026-07-30
- primaryWhat is Amazon EC2 Auto Scaling?aws-compute-asg · retrieved 2026-07-29
- primaryAdd an Availability Zoneaws-asg-add-availability-zone · retrieved 2026-07-30
- primaryWhat is Elastic Load Balancing?aws-compute-elb · retrieved 2026-07-29
- primaryWhat is an Application Load Balancer?aws-elb-application-load-balancer · retrieved 2026-07-30
- primaryWhat is a Network Load Balancer?aws-elb-network-load-balancer · retrieved 2026-07-30
- primaryAmazon Route 53 Developer Guideaws-net-route53 · retrieved 2026-07-29
- primaryWhat is Amazon VPC?aws-net-vpc · retrieved 2026-07-29
- primaryAlb Health Checksaws-alb-health-checks · retrieved 2026-07-30
- primaryNlb Health Checksaws-nlb-health-checks · retrieved 2026-07-30