Skip to content

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

  1. AWS promotes the standby to primary (~60-120 seconds)
  2. DNS endpoint automatically updates
  3. 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.