Resilient Cloud Solutions · Topic 2 of 5

High Availability for Data Stores

Choose Multi AZ and multi Region designs for RDS, Aurora, DynamoDB, S3, EFS and ElastiCache, and understand failover, replication lag and data loss risk.

  • 5 min
  • Includes a diagram
In a nutshell
  • RDS Multi AZ is synchronous and for availability; the standby does not serve reads in the instance deployment.
  • Read replicas are asynchronous, serve reads, and can be promoted or placed in another Region.
  • Aurora stores six copies in three AZs and fails over to a reader automatically.

What it is

Stateless compute is easy to replace, but data is not. The data tier needs copies in more than one place, a way to promote a copy when the primary fails, and a clear idea of how much data could be lost.

This page compares the HA options of the main data services. The recurring question is whether a copy exists for availability (fast failover inside a Region), for read scaling, or for disaster recovery in another Region.

Primarywritessync copyStandbyother AZfailoverApplicationsame endpoint name

How it works

Amazon RDS

An application writes to an RDS primary that copies synchronously to a Multi AZ standby in another AZ and asynchronously to a read replica that serves reads; on failure the endpoint DNS name flips to the standby.

FeaturePurposeReplication
Multi AZ instance deploymentHigh availabilitySynchronous to a standby in another AZ; standby cannot serve reads
Multi AZ DB clusterHA plus readable standbys (MySQL and PostgreSQL)Semisynchronous, two readable standbys
Read replicaRead scaling and cross Region copyAsynchronous; can be promoted

In a Multi AZ instance deployment, a failure causes RDS to flip the DNS name of the endpoint to the standby, so the application reconnects to the same name. Keep DNS caching in the client short so it picks up the change, or use Amazon RDS Proxy, which keeps connections open and shortens failover for the application.

A read replica is not a high availability feature by default, because replication is asynchronous and promotion is a manual step. It is the tool for read scaling and for a cross Region disaster recovery copy.

Amazon Aurora

Aurora keeps six copies of data across three AZs in a shared storage layer. A cluster has one writer and up to fifteen reader instances, and a reader is promoted automatically when the writer fails. Applications use the cluster endpoint for writes and the reader endpoint for reads.

Aurora Global Database replicates storage to secondary Regions, usually with a lag of under a second. A secondary Region can be promoted for disaster recovery, and the recovery point is typically seconds. Aurora Serverless v2 scales capacity within a cluster as load changes.

WriterRegion Astorage replicationSecondary clusterRegion Bpromote on failureApplicationnew writer endpoint

Amazon DynamoDB

DynamoDB stores data across multiple AZs by default. Global tables add multi Region, multi active replication, so every replica accepts writes, and conflicts are resolved with last writer wins. Point in time recovery (PITR) and on demand backups protect against deletion and corruption.

Choose global tables when the application must write in several Regions with low latency and survive a Regional outage with almost no data loss.

Amazon S3, EFS and EBS

  • S3: data is stored across multiple AZs automatically. Cross Region replication (CRR) and same Region replication (SRR) copy new objects to another bucket, but both buckets must have versioning on. S3 Replication Time Control adds a service level target of 15 minutes for most objects.
  • EFS: a Regional file system with mount targets in each AZ. For another Region, use replication.
  • EBS: a volume lives in one AZ, so protect it with snapshots, which are stored in S3 and can be copied across Regions.

ElastiCache

A Valkey or Redis OSS replication group can have replicas in other AZs and automatic failover. A Memcached cluster has no replication, so a node failure loses that node's data.

Choosing

RequirementPick
Survive an AZ outage, relationalRDS Multi AZ or Aurora
Survive a Region outage, relationalAurora Global Database or cross Region read replica
Multi Region active writes, key valueDynamoDB global tables
Object copy to another RegionS3 replication
Read heavy workloadRead replicas or Aurora readers, plus caching

Testing failover

Failover that has never been tested is a guess. RDS can force a failover on reboot, Aurora has a manual failover operation, and AWS Fault Injection Service can inject faults on a schedule so you learn how the application reacts.

What to remember for the exam

  • RDS Multi AZ is synchronous and for availability; the standby does not serve reads in the instance deployment.
  • Read replicas are asynchronous, serve reads, and can be promoted or placed in another Region.
  • Aurora stores six copies in three AZs and fails over to a reader automatically.
  • Aurora Global Database has typical replication lag under a second for cross Region disaster recovery.
  • DynamoDB global tables are active active with last writer wins.
  • S3 replication requires versioning on source and destination.
  • EBS volumes are single AZ; use snapshots for durability across AZs and Regions.
  • RDS Proxy shortens failover impact for applications.
  • A Memcached cluster has no replication.
Exam tip

When a question says "high availability" for RDS, think Multi AZ; when it says "read scaling," think read replicas.

Common mistakes

Treating a read replica as the HA design. Replication is asynchronous, so the replica may be behind and promotion is manual.

Assuming the standby adds read capacity. In an RDS Multi AZ instance deployment it does not.

Forgetting S3 versioning. Replication cannot be turned on without it.

Ignoring client DNS caching. Applications that cache the old address keep failing after a failover.

Watch out

Global tables replicate deletes and bad writes too, so replication does not replace backups.

Check yourself

  • Does the standby in an RDS Multi AZ instance deployment serve read traffic?

    No, it exists only for failover; use read replicas for reads.

  • Which service gives active active writes in several Regions for key value data?

    DynamoDB global tables.

  • What must be enabled on S3 buckets before replication?

    Versioning on both the source and destination buckets.

Topic 2 of 5 in Resilient Cloud Solutions

Test yourself on Resilient Cloud Solutions

The full AWS DOP-C02 question bank has 844 questions, with timed practice exams and an explanation for every answer.

This study guide is independent and is not affiliated with, endorsed by, or sponsored by AWS. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.