Database Failover Runbook¶
RDS Multi-AZ Failover¶
When to Use¶
- Planned maintenance
- Testing DR procedures
- AZ outage response
Trigger Failover¶
# Django MySQL
aws rds reboot-db-instance \
--db-instance-identifier prod-nhc-django \
--force-failover \
--profile 794248400165_AdministratorAccess \
--region us-east-2
# WordPress MariaDB
aws rds reboot-db-instance \
--db-instance-identifier prod-nhc-wpcms \
--force-failover \
--profile 794248400165_AdministratorAccess \
--region us-east-2
Expected Behavior¶
- AWS promotes the standby to primary (~60-120 seconds)
- DNS endpoint automatically updates
- Applications reconnect using the same endpoint
Verify After Failover¶
# Check instance status
aws rds describe-db-instances \
--db-instance-identifier prod-nhc-django \
--query 'DBInstances[0].[DBInstanceStatus,AvailabilityZone,MultiAZ]' \
--profile 794248400165_AdministratorAccess \
--region us-east-2
# Check application health
curl -s https://staging-django-api.novavirtual.site/ping/
Downtime
Expect 60-120 seconds of database unavailability during failover. Schedule during maintenance windows.