AWS EBS Re-Mirroring Storm and Stuck Volumes in US-East-1
A routine network-capacity upgrade in one US-East-1 Availability Zone was executed incorrectly, shifting EBS traffic onto a low-capacity redundant network and isolating a large block of storage nodes. When connectivity returned, the nodes launched a self-reinforcing "re-mirroring storm" that exhausted spare capacity, left ~13% of the zone's volumes "stuck", and starved the region-wide EBS control plane — degrading EC2 and RDS for nearly four days and permanently losing 0.07% of the affected zone's volumes.
Failure cascade
Trigger → primary fault → downstream blast radius, derived from the sourced root cause and affected-services record.
Facility & location
- Operator
- Amazon Web Services
- Data center
- US-East-1 (Northern Virginia)
- Location
- Ashburn area, Northern Virginia, USA, single affected Availability Zone (of the US East Region)
- Date
- 2011-04-21
Impact & scale
- Users affected
- Not disclosed as a user count; blast radius covered one AZ directly plus region-wide EBS/EC2/RDS control-plane degradation. Consumer sites knocked offline included Reddit, Quora, Foursquare, Hootsuite and Heroku (also Engine Yard), per CNN Money and GovTech.
- Financial
- Not disclosed by AWS. Direct remedy was a 10-day service credit equal to 100% of affected customers' EBS, EC2 and RDS usage in the affected AZ; aggregate dollar figure never published.
- Scope
- Major multi-day regional service disruption (single AZ hard-down, region-wide control-plane impact)
- Amazon EBS (Elastic Block Store)
- Amazon EC2 (EBS-backed instance launch/attach)
- Amazon RDS (single-AZ and some multi-AZ)
Impact data & metrics
| Total disruption duration | ~90 hours (approx; 12:47 AM PDT Apr 21 to effective end over the weekend of Apr 24; AWS gives no precise closing time) |
| Peak stuck EBS volumes (affected AZ) | ~13% initial, +5% in second wave (~18% cumulative touched) |
| Volumes not yet restored by Apr 22 12:30 PDT | 2.2% |
| Volumes not yet restored by Apr 24 12:30 PDT | 1.04% |
| Permanent EBS data loss (affected AZ) | 0.07% of volumes unrecoverable |
| RDS single-AZ instances with stuck I/O (peak) | 45% at peak; 0.4% suffered unrecoverable storage |
| RDS single-AZ recovery pace | 41.0% still stuck after 24h, 23.5% after 36h, 14.6% after 48h; the rest recovered over the weekend |
| RDS multi-AZ failover failures | 2.5% failed to auto-failover due to a previously un-encountered bug |
| Stuck-volume spillover into healthy AZs (peak) | less than 0.07% |
| Customer remedy | 10-day service credit = 100% of affected EBS, EC2 and RDS usage in the affected AZ |
Magnitude profile
Duration score high: ~90 hours (approx) from trigger (12:47 AM PDT Apr 21) to effective end over the weekend of Apr 24. AWS's own post-mortem states RDS databases 'recovered throughout the weekend' without a precise closing time; third-party summaries cite ~7:30 PM PDT Apr 24. Blast radius: one AZ hard-down with region-wide EBS control-plane thread starvation touching all AZs; peak stuck-volume spillover to healthy zones stayed <0.07%. Financial mid: real remedy was a 10-day 100% EBS/EC2/RDS credit in the affected AZ but AWS never published a dollar total.
Sequence of events (SOE)
- TRIGGER During a planned network-capacity upgrade in one US-East-1 AZ, engineers shifted traffic off a primary EBS router; instead of moving it to another router in the primary high-capacity network, the change routed it onto the lower-capacity redundant EBS network, which could not carry the load.
- TRIGGER Because the redundant network also became overwhelmed/isolated, affected EBS nodes lost BOTH their primary and secondary network paths at once, cutting them off from their replica peers.
- CASCADE The incorrect traffic shift was rolled back; reconnected nodes immediately began searching the cluster for free space to re-establish lost data replicas, all at once. This concurrent scramble became a self-reinforcing 're-mirroring storm'.
- CASCADE Free capacity in the affected cluster was rapidly exhausted; nodes that could not find space entered a retry loop. About 13% of the volumes in the affected AZ became 'stuck' searching for storage.
- CASCADE The flood of Create Volume / re-mirror API calls caused thread starvation in the EBS control plane. Because the control plane spans the whole region, elevated error rates and latencies appeared across ALL Availability Zones, not just the failed one.
- IMPACT Consumer-facing sites hosted on EC2 in the region went down or degraded, including Reddit, Quora, Foursquare, Hootsuite and Heroku (also Engine Yard); the outage was public and widely reported. Press reports place the onset just before 5 a.m. ET, i.e. roughly 2 a.m. PDT.
- MITIGATION AWS disabled all Create Volume API requests in the affected AZ to relieve the control-plane thread starvation.
- MITIGATION With Create Volume calls blocked, EBS control-plane latencies and error rates for all other EBS-related APIs in the OTHER (healthy) Availability Zones recovered to normal.
- CASCADE A second wave hit: a low-probability race condition caused EBS nodes to fail when concurrently closing large numbers of replication requests, and failed re-mirror retries generated heavy control-plane negotiation, pushing an ADDITIONAL ~5% of the AZ's volumes into the stuck state.
- MITIGATION AWS began disabling all communication between the degraded EBS cluster and the EBS control plane, quarantining the failure so it could no longer poison other zones.
- RECOVERY A change to the EBS control plane fixed the elevated errors/latencies when launching EBS-backed EC2 instances in the healthy zones; new-instance error rates declined rapidly and returned to near-normal by Noon PDT.
- RECOVERY The event was contained to the single affected AZ: stabilization complete, ~13% of the AZ's volumes still stuck, and EBS APIs disabled in the affected zone while recovery proceeded.
- RECOVERY Installation of new physical storage capacity began. Recovery was slow because the EBS cluster will not reuse a failed node until every replica on it is successfully re-mirrored, and capacity had to be physically relocated from across the US East Region.
- RECOVERY All but about 2.2% of the volumes in the affected AZ had been restored to normal operation.
- RECOVERY EBS control-plane API access was re-enabled (finished enabling access) for the affected AZ.
- RECOVERY Full EBS API access to EBS resources was restored to the affected Availability Zone.
- RECOVERY All but 1.04% of the affected volumes had been recovered, largely by restoring from snapshots.
- RECOVERY Manual recovery began on the remaining volumes that had not been snapshotted / were tied to hardware failures.
- RESTORED Remaining RDS databases were brought back online over the weekend, effectively ending the multi-day disruption; a final 0.07% of the affected AZ's EBS volumes could not be recovered. AWS's post-mortem describes RDS recovery as completing 'throughout the weekend' without a precise time; third-party summaries cite ~7:30 PM PDT Apr 24.
Root cause
Contributing factors
- The redundant EBS network was lower-capacity than the primary and unable to sustain primary traffic, so routing to it was equivalent to removing redundancy rather than preserving it.
- Re-mirroring had no rate-limiting, jitter, or back-pressure, allowing large numbers of nodes to stampede for free space simultaneously and exhaust cluster capacity.
- The EBS control plane was a single region-wide service with no AZ-level isolation, so control-plane thread starvation propagated to healthy Availability Zones.
- A latent, low-probability race condition caused EBS nodes to fail when concurrently closing large numbers of replication requests, generating a damaging second wave of stuck volumes.
- A previously un-encountered bug in RDS multi-AZ failover prevented automatic failover for 2.5% of multi-AZ instances, undermining the paid resilience feature.
- Recovery was structurally slow: a failed node cannot be reused until every replica on it is re-mirrored, and fresh capacity had to be physically relocated from elsewhere in the US East Region.
- Slow, vague customer communications (imprecise 'small percentage'/'multiple availability zones' wording; AWS itself later conceded it wanted communications 'more frequent and containing more information') left customers unable to make informed failover decisions.
- Many customers had architected for a single AZ, so a single-AZ event took their whole application down.
Correction of errors (COE)
- Audit and automate the network change-management process so production EBS traffic can never be shifted onto an under-capacity network; add capacity-aware validation and reviewed dry-runs before executing traffic shifts.
- Add back-pressure, rate-limiting and randomized retry (jitter) to EBS re-mirroring so a correlated failure cannot trigger a capacity-exhausting stampede, and make nodes more conservative about declaring a replica failed on transient network loss.
- Improve EBS control-plane fault isolation so per-AZ failures cannot starve the region-wide control plane's threads/resources; reduce the shared, region-scoped blast radius.
- Fix the previously un-encountered RDS multi-AZ failover bug so paid multi-AZ databases reliably auto-failover on stuck I/O.
- Improve customer communications during large-scale events: more frequent, more specific status updates with actionable detail and clearer identification of affected AZs.
- Provide better guidance and tooling for multi-AZ architecture so customers can build applications resilient to a single-AZ failure; issue the 10-day 100% service credit to affected customers.
Lessons learnt
- A recovery mechanism (re-mirroring) without admission control can become the outage: a correlated fault turns self-healing into a stampede that consumes the spare capacity meant to absorb failures.
- Shared, region-scoped control planes are a hidden single point of failure — a per-AZ data-plane fault leaked region-wide because the control plane had no AZ isolation.
- 'Redundant' capacity that is lower-capacity than primary is not redundancy for full load; failing onto it can remove protection rather than preserve it.
- Paid resilience features must be tested against the exact rare failure modes they exist for — the RDS multi-AZ failover bug surfaced only under real stress.
- Single-AZ architectures inherit the AZ's fate; customers who spanned AZs and had snapshots recovered far better.
- During large incidents, vague/slow status communications actively harm customers who could otherwise trigger their own failover.
Improvements & remediation
- Automated, capacity-aware guardrails in the network change process that block shifting production traffic onto an under-capacity path, plus mandatory peer-review/dry-run of the traffic-shift target.
- Back-pressure, jitter and admission control in EBS re-mirroring to prevent stampedes.
- Per-AZ isolation of the EBS control plane to bound blast radius.
- Regression coverage and chaos/failure testing for the RDS multi-AZ failover path.
- More frequent, more specific incident communications with clear affected-AZ identification.
- Customer-facing multi-AZ architecture guidance and tooling to reduce single-AZ dependency.
Comprehensive analysis
Canonical control-plane cascade
a localized data-plane network misconfiguration in one AZ propagated region-wide because the EBS control plane was a single shared regional service subject to thread starvation.
Positive-feedback re-mirroring loop
reconnected nodes all re-mirrored at once, exhausting the free space that re-mirroring itself needed, so the more the system tried to heal the worse it got.
Two stacked amplifiers
(a) the re-mirroring stampede (~13%) and (b) a low-probability race condition on concurrent replication-request closure (~5%).
Blast-radius containment held
Blast-radius containment worked once AWS quarantined the degraded cluster from the control plane (08:20 PDT) and blocked Create Volume (02:40 PDT), restoring healthy AZs while the affected AZ was worked through the weekend.
Data durability held
only 0.07% of the affected AZ's volumes were permanently lost, and most recovery came from customer/EBS snapshots — reinforcing the snapshot discipline lesson.
RDS single-AZ dependency exposed
The RDS impact showed that a dependency on EBS turns an EBS event into a database event, and that the multi-AZ failover safeguard itself had an untested failure mode (2.5% did not fail over).
Technical deep-dive
References & provenance
- official-postmortem Summary of the Amazon EC2 and Amazon RDS Service Disruption in the US East Region“At 12:47 AM PDT on April 21st ... the traffic was routed onto the lower capacity redundant EBS network ... about 13% of the volumes in the affected Availability Zone were in this 'stuck' state ... 0.07% of the volumes in the affected Availability Zone could not be restored ... a 10 day credit equal to 100% of their usage of EBS Volumes, EC2 Instances and RDS database instances that were running in the affected Availability Zone.”https://aws.amazon.com/message/65648/
- news Amazon EC2 cloud outage downs Reddit, Quora“A rare and major outage of Amazon's cloud-based Web service took down a plethora of online sites, including Reddit, HootSuite, Foursquare and Quora.”https://money.cnn.com/2011/04/21/technology/amazon_server_outage/index.htm
- news Amazon EC2 Outage Brings Down Numerous Websites“The outages began Thursday morning just before 5 a.m. ET; affected sites included Reddit, HootSuite, Foursquare, Quora, Heroku and Engine Yard.”https://www.govtech.com/archive/amazon-ec2-outage.html
- news Amazon EC2 outage post-mortem (analysis and criticism)“AWS acknowledged: 'We would like our communications to be more frequent and contain more information.' A customer described the post-mortem as 'a Catholic penance, yet it contains surprisingly little actionable information.'”https://www.theregister.com/2011/04/29/amazon_ec2_outage_post_mortem/
- reference A History of AWS Cloud and Data Center Outages“AWS suffered an extended outage in one of its northern Virginia data centers, which took down popular sites including Reddit and Quora.”https://www.datacenterknowledge.com/outages/a-history-of-aws-cloud-and-data-center-outages
Sourced from public post-incident reports. Quotes are short attributed excerpts for provenance only; the analysis above is original and substantially shorter than its sources. Last verified 2026-08-08.