Pilot Light and Warm Standby
Keep a minimal core of your workload running in a second Region (pilot light) or a scaled-down but fully functional copy (warm standby) ready to scale up.
Pilot Light and Warm Standby is a free AWS Solutions Architect lesson on CoddyKit — lesson 3 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the AWS Solutions Architect learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Beyond Backup and Restore
When your RTO requirement is tighter than a few hours, Backup and Restore is insufficient. The next two DR tiers — Pilot Light and Warm Standby — keep some or all of your infrastructure running in the DR region at all times, reducing the time to recover significantly. Both strategies involve maintaining a DR environment continuously and using Route 53 health-check failover to redirect traffic during a disaster. The difference is how much of the DR environment is actively running.
Pilot Light: Core Always Running
In the Pilot Light strategy, you keep only the critical core of your system running in the DR region — typically just the database tier with continuous replication. The application servers are NOT running; instead, you maintain pre-built AMIs, launch templates, or infrastructure-as-code that can launch them quickly. Think of it as a gas pilot light that burns very small and can ignite the full flame within minutes when needed. RTO is typically 30-60 minutes.
# Pilot Light: what runs 24/7 in DR region
# - RDS Read Replica (receiving continuous replication)
# - Minimal VPC/networking (no extra cost if no data transfer)
# - Route 53 failover record (inactive, health check pointing to primary)
# What is prepared but NOT running:
# - EC2 launch template pointing to DR AMI
# - ALB (can be created in minutes)
# - ASG with desired=0, can scale to 10 on demandPilot Light Failover Steps
When the primary region fails and Pilot Light failover is triggered: Step 1 — Promote the RDS Read Replica in the DR region to a standalone primary database. Step 2 — Launch EC2 instances from the pre-built AMI or launch template. Step 3 — Create or activate the Application Load Balancer and register the new EC2 instances. Step 4 — Update application configuration to point to the promoted database endpoint. Step 5 — Route 53 health check failover completes the DNS cutover. Total time: 30-60 minutes.
# Step 1: Promote RDS Read Replica
aws rds promote-read-replica \
--db-instance-identifier mydb-dr-replica \
--region us-west-2
# Step 2: Scale up ASG in DR region
aws autoscaling update-auto-scaling-group \
--auto-scaling-group-name app-asg-dr \
--min-size 2 \
--desired-capacity 4 \
--region us-west-2
# Step 3: Route 53 failover happens automatically
# via health check detecting primary region failureWarm Standby: Fully Functional but Scaled Down
In the Warm Standby strategy, a complete but scaled-down version of your production environment runs continuously in the DR region. All application tiers are active — web servers, app servers, database — but at reduced capacity (e.g., 2 instances instead of 20). During failover, you scale up the DR environment to match production load. Route 53 automatically cuts over traffic via health-check failover. RTO is typically under 15 minutes. Warm Standby is the most popular DR tier for business-critical applications.
# Production vs Warm Standby capacity:
# Tier Production DR Standby
# Web servers 20 EC2 (c5.xl) 2 EC2 (c5.xl)
# App servers 10 EC2 (m5.xl) 2 EC2 (m5.xl)
# Database RDS db.r5.2xl RDS Read Replica (db.r5.xl)
# Cache Redis r6g.xl Redis r6g.medium
#
# Cost: DR standby ~15% of production costAurora Global Database for Warm Standby
Aurora Global Database is the ideal database technology for Warm Standby DR. The secondary region cluster is always running, always receiving replication (<1 second lag), and can be promoted to a primary in under 1 minute — far faster than promoting an RDS Read Replica (which requires stopping replication and applying remaining lag). This makes Aurora Global Database the recommended choice when your RTO requirement is in the range of minutes rather than tens of minutes.
# Promote Aurora Global DB secondary to primary
# (during DR failover)
aws rds failover-global-cluster \
--global-cluster-identifier my-global-db \
--target-db-cluster-identifier my-aurora-cluster-us-west-2
# Aurora handles promotion automatically
# Typical promotion time: 1-2 minutes
# vs RDS Read Replica promotion: 10-30 minutesRoute 53 Automatic Failover Configuration
Both Pilot Light and Warm Standby rely on Route 53 failover routing to automatically redirect traffic. Configure a Primary record pointing to your production region's ALB or endpoint with a health check attached. Configure a Secondary record pointing to your DR region's endpoint. When Route 53 detects the primary health check has failed for the configured threshold, it stops returning the primary record and serves only the secondary record — all within the DNS TTL period.
# Primary record (production)
aws route53 change-resource-record-sets \
--hosted-zone-id ZXXX \
--change-batch '{
"Changes": [{
"Action": "UPSERT",
"ResourceRecordSet": {
"Name": "api.example.com",
"Type": "A",
"Failover": "PRIMARY",
"SetIdentifier": "primary",
"HealthCheckId": "hc-us-east-1",
"AliasTarget": {"DNSName": "alb-prod.us-east-1.elb.amazonaws.com","EvaluateTargetHealth": true}
}
}]
}'Pre-warming the DR Environment
For Warm Standby to achieve its RTO target, the DR environment must be pre-warmed — fully configured and tested so that scaling up during failover is the only action required. This means: database connections are established and cached, application configuration files reference DR-region endpoints, EC2 instances are in service behind the ALB (even at low count), and health checks are passing. Perform monthly DR drills where you simulate failover to ensure the environment stays current with production configuration.
# Validate DR warm standby health
# 1. Check DR ALB target health
aws elbv2 describe-target-health \
--target-group-arn arn:aws:elasticloadbalancing:us-west-2:123:targetgroup/app-dr/xyz
# 2. Check Aurora Global DB secondary
aws rds describe-global-clusters \
--global-cluster-identifier my-global-db
# 3. Verify Route 53 health checks
aws route53 get-health-check-status \
--health-check-id hc-us-west-2Infrastructure as Code for DR Consistency
Keeping your DR environment in sync with production is the hardest operational challenge. If you manually configure production and forget to update DR, your DR environment may not work correctly during a real disaster. The solution is Infrastructure as Code (IaC) with the same templates deployed to both regions. Use AWS CloudFormation StackSets or Terraform with multiple workspaces to deploy identical infrastructure to both regions from a single code base. This eliminates configuration drift.
# CloudFormation StackSet: deploy to multiple regions
aws cloudformation create-stack-set \
--stack-set-name my-app-infrastructure \
--template-url https://s3.amazonaws.com/mybucket/template.yaml
# Deploy to DR region
aws cloudformation create-stack-instances \
--stack-set-name my-app-infrastructure \
--accounts 123456789012 \
--regions us-west-2 \
--parameter-overrides \
ParameterKey=DesiredCapacity,ParameterValue=2Cost Comparison: Pilot Light vs Warm Standby
The cost difference between the two strategies is significant. Pilot Light only costs you the database replica (typically 50-100% of primary DB cost) plus minimal networking in the DR region. Application servers are off, so no EC2 costs. Warm Standby adds the cost of running scaled-down EC2 instances, an ALB, and potentially a smaller cache cluster — typically 15-30% of total production environment cost. The question is whether the faster RTO of Warm Standby justifies the higher ongoing cost.
# Example monthly cost comparison:
# Production environment: $10,000/month
# Pilot Light DR:
# RDS Read Replica: $500/month
# Minimal networking: $50/month
# Total: $550/month (~5.5% of production)
# Warm Standby DR:
# RDS Read Replica: $500/month
# 2x EC2 instances: $400/month
# ALB + networking: $200/month
# Total: $1,100/month (~11% of production)Failback: Returning to Primary
After the primary region is restored, you need a failback plan to return to it. Failback is often the trickiest part of DR: during the outage, the DR region may have processed new data that needs to be synced back to the primary. For databases, you may need to set up reverse replication or re-sync from DR to primary. For Route 53, you reinstate the primary record with its health check. Always plan and test your failback procedure as carefully as the failover itself.
# Failback procedure steps:
# 1. Restore primary region infrastructure
# 2. Set up replication from DR to primary
# (reverse replication to sync new data)
# 3. Verify data consistency
# 4. Re-enable primary Route 53 health check
# 5. Gradually shift traffic back (weighted routing)
# Route 53 weights: Primary=10%, DR=90%
# Primary=50%, DR=50%
# Primary=100%, DR=0%
# 6. Decommission DR region back to standby capacityWhen to Choose Pilot Light vs Warm Standby
Choose Pilot Light when: your RTO allows 30-60 minutes and you want to minimise DR costs. The primary risk is the time needed to launch and configure application servers during a disaster under pressure. Choose Warm Standby when: your RTO requires recovery within 15 minutes, your application is complex enough that launching it fresh during a disaster is risky, or your SLA commitment to customers demands faster recovery. For most medium-criticality production workloads, Warm Standby is the right balance.
# Decision guide:
# RTO > 1 hour: Backup and Restore
# RTO 30-60 min: Pilot Light
# RTO 5-15 min: Warm Standby
# RTO < 5 min: Multi-Site Active-Active
# Additional factors for Warm Standby:
# - Complex application startup procedures
# - Contractual SLA commitments to customers
# - High revenue loss per minute of downtime
# - Regulatory requirements for fast recoveryQuick Check
Test your understanding of AWS Solutions Architect (SAA-C03) concepts from this lesson.
Lesson Recap
In this lesson you learned: Pilot Light keeps only the database running in DR and launches application servers during failover, Warm Standby runs a complete scaled-down environment that scales up during failover, and Infrastructure as Code prevents configuration drift between primary and DR environments. Always test and plan failback procedures as well as failover. Next up we explore multi-site active-active with DynamoDB Global Tables and Route 53.
Frequently asked questions
Is the “Pilot Light and Warm Standby” lesson free?
Yes — the full text of “Pilot Light and Warm Standby” is free to read here on the web, and the AWS Solutions Architect course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the AWS Solutions Architect course, upgrade to CoddyKit PRO.
What will I learn in “Pilot Light and Warm Standby”?
Keep a minimal core of your workload running in a second Region (pilot light) or a scaled-down but fully functional copy (warm standby) ready to scale up. You practise AWS Solutions Architect with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start AWS Solutions Architect?
No prior experience is required. AWS Solutions Architect on CoddyKit is structured for beginners through advanced learners; this is — lesson 3 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Pilot Light and Warm Standby” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this AWS Solutions Architect lesson?
Yes. Every AWS Solutions Architect lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- RTO, RPO, and DR Tiers
- Backup and Restore
- Pilot Light and Warm Standby
- Multi-Site Active-Active with Global Tables and Route 53