MEDIUM RDS

RDS Multi-AZ

Check ID: aws-rds-003

AWS-RDS-003 is an AWS security check performed by cloud-audit, an open-source AWS security scanner. Checks for non-micro/small RDS instances (likely production) without Multi-AZ failover enabled.

Why it matters

Without Multi-AZ, a single availability zone failure - hardware issue, network disruption, or power outage - takes your database offline with no automatic recovery. AWS has documented multiple AZ-level failures, including the 2021 us-east-1 outage that lasted over 8 hours. Multi-AZ maintains a synchronous standby replica in a different AZ and provides automatic failover in 60-120 seconds. The cost premium is approximately 2x the instance price, but for production databases the cost of downtime typically far exceeds this. For non-micro/small instances (likely production workloads), Multi-AZ is considered a baseline availability requirement by the AWS Well-Architected Framework Reliability pillar.

Common causes

Multi-AZ is disabled to save costs in development and staging environments, and those configurations get promoted to production without change. Teams creating initial database infrastructure may defer Multi-AZ as a future optimization, then forget to enable it once the database goes live. The 2x cost premium for Multi-AZ leads finance-conscious teams to skip it, especially for databases they consider non-critical until an outage proves otherwise.

Detection

Run cloud-audit to detect this issue:

pip install cloud-audit
cloud-audit scan -R

The -R flag includes remediation details for every finding, including this one.

Remediation: AWS CLI

aws rds modify-db-instance --db-instance-identifier DB_ID --multi-az --apply-immediately --region REGION

Remediation: Terraform

resource "aws_db_instance" "db" {
  multi_az = true
}

This check is part of cloud-audit - install with pip install cloud-audit