Key Takeaways
- A DR solution is only as good as the RTO (Recovery Time Objective) and RPO (Recovery Point Objective) it's built against — define these numbers before choosing architecture.
- AWS recognizes four DR strategies — backup & restore, pilot light, warm standby, and multi-site active/active — each a step up in cost and recovery speed.
- Most mid-size workloads land on warm standby: cheaper than active/active, dramatically faster than backup & restore.
- A DR solution without regular failover testing is a false sense of security — untested DR plans fail during real incidents more often than tested ones.
RTO and RPO: The Two Numbers That Define Your DR Solution
Before picking any architecture, answer two questions:
- RTO (Recovery Time Objective): how long can the business tolerate being down?
- RPO (Recovery Point Objective): how much data can you afford to lose, measured in time?
An e-commerce checkout system might need an RTO of 15 minutes and RPO of near-zero. An internal reporting tool might tolerate an RTO of 24 hours. These numbers — not technology preference — determine which of the four DR strategies fits.
The Four AWS DR Strategies
| Strategy | RTO | RPO | Relative Cost | Description |
|---|---|---|---|---|
| Backup & Restore | Hours | Hours | Lowest | Data backed up; infra rebuilt from templates on disaster |
| Pilot Light | 10s of minutes | Minutes | Low–Medium | Core services always running at minimal scale in DR region |
| Warm Standby | Minutes | Seconds–Minutes | Medium | Scaled-down full environment always running, scales up on failover |
| Multi-Site Active/Active | Near-zero | Near-zero | Highest | Full production load served from 2+ regions simultaneously |
Backup & Restore
The baseline. Data is backed up continuously; infrastructure exists only as Infrastructure-as-Code templates, deployed on demand.
# Example: cross-region backup copy with AWS Backup
aws backup start-copy-job \
--recovery-point-arn arn:aws:backup:us-east-1:123456789012:recovery-point:abc-123 \
--source-backup-vault-name primary-vault \
--destination-backup-vault-arn arn:aws:backup:us-west-2:123456789012:backup-vault:dr-vault \
--iam-role-arn arn:aws:iam::123456789012:role/AWSBackupDefaultServiceRole
Pilot Light
A minimal version of the environment (databases replicating, core config in place) runs permanently in the DR region; compute scales up only on failover.
Warm Standby
A scaled-down but fully functional copy of production runs continuously in the DR region, ready to absorb traffic immediately and scale to full capacity.
# Scaled-down warm standby Auto Scaling Group in DR region
resource "aws_autoscaling_group" "dr_standby" {
name = "dr-standby-asg"
min_size = 1
max_size = 10
desired_capacity = 1
vpc_zone_identifier = var.dr_private_subnet_ids
launch_template {
id = aws_launch_template.app.id
version = "$Latest"
}
tag {
key = "Role"
value = "dr-standby"
propagate_at_launch = true
}
}
On failover, an automation (Lambda + Route 53 health check, or AWS Elastic Disaster Recovery) raises desired_capacity and shifts DNS.
Multi-Site Active/Active
Production traffic is served from two or more regions simultaneously, typically behind Route 53 latency-based or weighted routing, with data replicated bidirectionally (e.g., DynamoDB Global Tables, Aurora Global Database).
Reference Architecture: Warm Standby DR Solution
<svg viewBox="0 0 760 340" xmlns="http://www.w3.org/2000/svg" style="width:100%;max-width:760px;font-family:sans-serif;color:currentColor">
<style>
.box { fill: none; stroke: currentColor; stroke-width: 1.5; }
.lbl { fill: currentColor; font-size: 13px; }
.sub { fill: currentColor; font-size: 11px; opacity: 0.7; }
.arrow { stroke: currentColor; stroke-width: 1.5; marker-end: url(#a4); fill: none; }
.dash { stroke-dasharray: 5,4; }
</style>
<defs>
<marker id="a4" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
<path d="M0,0 L6,3 L0,6 Z" fill="currentColor" />
</marker>
</defs>
<rect class="box" x="300" y="15" width="160" height="45" rx="6" />
<text class="lbl" x="325" y="42">Route 53</text>
<rect class="box" x="60" y="100" width="300" height="130" rx="8" />
<text class="sub" x="75" y="120">Primary Region (us-east-1)</text>
<rect class="box" x="90" y="140" width="110" height="55" rx="6" />
<text class="lbl" x="100" y="163">Full ASG</text>
<text class="sub" x="100" y="180">100% capacity</text>
<rect class="box" x="220" y="140" width="110" height="55" rx="6" />
<text class="lbl" x="230" y="163">Primary DB</text>
<rect class="box" x="400" y="100" width="300" height="130" rx="8" />
<text class="sub" x="415" y="120">DR Region (us-west-2)</text>
<rect class="box" x="430" y="140" width="110" height="55" rx="6" />
<text class="lbl" x="440" y="163">Warm ASG</text>
<text class="sub" x="440" y="180">10% capacity</text>
<rect class="box" x="560" y="140" width="110" height="55" rx="6" />
<text class="lbl" x="570" y="163">Replica DB</text>
<path class="arrow" d="M380,60 H210 V100" />
<path class="arrow dash" d="M380,60 H550 V100" />
<path class="arrow dash" d="M330,167 H420" />
<rect class="box" x="90" y="270" width="620" height="45" rx="6" />
<text class="lbl" x="105" y="297">Scheduled failover drills via AWS Fault Injection Simulator / Route 53 health checks</text>
</svg>
Testing: The Part Most DR Solutions Skip
A DR plan that hasn't been exercised is a hypothesis, not a solution. Run scheduled failover drills:
aws route53 get-health-check-status --health-check-id abcd-1234-efgh-5678
Combine with AWS Fault Injection Simulator to simulate AZ or region-level failures and measure actual RTO against your target — not the one on paper.
FAQ
What's the difference between backup & restore and warm standby? Backup & restore rebuilds infrastructure from scratch on disaster (hours of RTO); warm standby keeps a scaled-down environment always running, cutting RTO to minutes.
How often should DR failover be tested? Quarterly at minimum for business-critical systems; many regulated industries require documented DR tests at least twice a year.
Does a DR solution replace backups? No. Backups protect against data loss and corruption; DR protects against regional/infrastructure unavailability. You need both.
Is multi-site active/active overkill for most businesses? For most, yes — its cost and complexity are justified mainly for systems where even minutes of downtime carry significant revenue or safety impact.
Build a DR Solution That Survives a Real Incident
Defining the right RTO/RPO and matching architecture is where most DR plans go wrong. Talk to f9infotech's cloud resilience team about a disaster recovery design built for your actual risk profile.