AWS TL;DR: Amazon Aurora
Back to AWS TL;DR Hub

Amazon Aurora

/tldr: AWS's cloud-native, high-performance, drop-in replacement for MySQL and PostgreSQL.

Cloud-Native High Performance Shared Storage

1. The Key Difference: Shared Storage

Unlike traditional RDS engines, which replicate data node-by-node, Aurora decouples the compute layer (the database instance) from the storage layer. All instances in an Aurora cluster share a single, distributed storage volume that spans three Availability Zones (AZs).

Architecture Benefits

  • **High Durability:** Data is automatically replicated 6 ways across 3 AZs.
  • **Automatic Scaling:** The storage volume automatically scales in 10GB increments up to 128TB, with no need for manual provisioning.
  • **High Performance:** Because the storage system handles most I/O operations (logging, checkpointing, recovery), the database instance CPU is freed up to process queries faster, resulting in up to 5x the throughput of MySQL.

2. Near-Instant Failover

The shared storage architecture dramatically improves High Availability (HA) compared to standard Multi-AZ RDS.

Key HA Features

  • **Fast Failover:** Since all Read Replicas already point to the shared, up-to-date storage volume, failover (promoting a replica to the primary) typically takes less than 30 seconds. In traditional RDS, the failover process is longer because the standby replica often needs to catch up on transaction logs.
  • **Up to 15 Read Replicas:** You can easily provision up to 15 Read Replicas, which share the same storage volume as the primary writer instance.
  • **Self-Healing:** The storage system continuously scans for issues and repairs disk segments in the background.

3. Advanced Scaling & Deployment

Aurora offers advanced configurations beyond the standard RDS instance types, providing flexible scaling and global disaster recovery.

Deployment Models

  • **Aurora Serverless v2:** Provides fine-grained, instantaneous scaling of compute capacity based on workload demand, completely removing the need to choose instance sizes manually. This is a game-changer for fluctuating workloads.
  • **Aurora Global Database:** Designed for global applications, this feature allows a single Aurora database to span multiple AWS regions with fast, physical replication, offering a recovery point objective (RPO) of typically less than 1 second.

Connecting to an Aurora Cluster

Aurora provides two essential endpoints for connecting applications:

// 1. Cluster Endpoint: Points to the current primary (writer) instance.
//    Use this for all write operations and high-consistency reads.
//    (Example: cluster-xyz.us-east-1.rds.amazonaws.com)

// 2. Reader Endpoint: Points to the fleet of Read Replicas, distributing 
//    read-only connections across them for load balancing.
//    (Example: cluster-ro-xyz.us-east-1.rds.amazonaws.com)
            

Aurora is engineered for the cloud, offering superior performance, availability, and durability over standard RDS engines.

AWS Fundamentals Series: Amazon Aurora