AWS Aurora

Amazon Aurora is a relational database built by AWS for the cloud. It works with MySQL and PostgreSQL code, so existing applications connect with few changes. Aurora spreads data across several data centers and heals itself when parts fail.

Think of a normal database as a single notebook kept on one desk. Aurora keeps six identical copies of every page in three different offices. A coffee spill on one desk never destroys the information.

Aurora Compared With Standard RDS

Aurora belongs to the RDS family. You manage it through the same console and tools, yet its storage design differs from a regular RDS database.

+-------------------+----------------------+------------------------+
| Feature           | Standard RDS         | Aurora                 |
+-------------------+----------------------+------------------------+
| Storage           | Disk tied to one     | Shared cluster volume  |
|                   | instance             |                        |
| Data copies       | One primary disk,    | Six copies across      |
|                   | optional standby     | three zones            |
| Storage growth    | Set size, resize     | Grows automatically    |
| Read replicas     | Up to 5 (typical)    | Up to 15               |
+-------------------+----------------------+------------------------+

Cluster Architecture

An Aurora cluster contains one writer instance and up to fifteen reader instances. All instances share one storage layer.

             Application
            /           \
   Writer Endpoint    Reader Endpoint
           |                |
     +-----------+   +-----------+  +-----------+
     |  Writer   |   | Reader 1  |  | Reader 2  |
     +-----+-----+   +-----+-----+  +-----+-----+
           \               |              /
        +---------------------------------+
        |   Shared Cluster Storage        |
        |  AZ-a     AZ-b     AZ-c         |
        |  2 copies 2 copies 2 copies     |
        +---------------------------------+

Endpoints

  • The cluster endpoint always points to the current writer.
  • The reader endpoint spreads read traffic across all reader instances.
  • Instance endpoints point to one specific instance for special tasks.

Automatic Failover

A writer instance can fail. Aurora promotes a reader to become the new writer and updates the cluster endpoint. Applications reconnect to the same address. Adding readers in different Availability Zones improves resilience.

Storage That Grows by Itself

Aurora storage expands in small steps as data grows, up to a very large limit of 128 TiB. You never plan disk size upfront. Billing follows the storage you actually use.

Aurora Serverless

Aurora Serverless v2 adjusts compute capacity automatically between a minimum and a maximum that you set. A training portal with heavy use at noon and almost none at night benefits from this approach. Capacity rises during busy hours and drops during quiet hours.

Aurora Global Database

A global database replicates data from a primary region to secondary regions, usually with delay measured in about a second. Users in distant countries read from a nearby region. A regional outage allows promotion of a secondary region as the new primary.

Backups and Recovery

  • Automated backups run continuously with no performance pause.
  • Point-in-time recovery restores a cluster to any second within the retention window.
  • Manual snapshots keep a copy until you delete it.
  • Backtrack on Aurora MySQL rewinds a database to an earlier time without a full restore.

Example: An Online Booking App

A ticket booking site writes orders and reads event listings. The team creates an Aurora cluster with one writer and two readers. The app sends order inserts to the cluster endpoint and listing queries to the reader endpoint. Traffic grows during a concert sale, and the team adds a third reader in minutes.

Security

  • Place the cluster in private subnets inside a VPC.
  • Allow access only from application security groups.
  • Encrypt storage with KMS keys.
  • Store database passwords in Secrets Manager.
  • Use IAM database authentication for token-based sign-in.

When to Choose Aurora

  • Applications need high availability with fast failover.
  • Read traffic outweighs write traffic and needs many replicas.
  • Workloads vary and benefit from serverless scaling.
  • Teams want a managed MySQL or PostgreSQL experience.

Small test projects often run well on standard RDS at lower cost. Compare pricing for your workload before committing to Aurora.

Best Practices

  • Spread readers across Availability Zones.
  • Monitor replica lag and connection counts in CloudWatch.
  • Use connection pooling to protect the database from sudden connection spikes.
  • Delete test clusters and old snapshots after practice.