AWS Aurora

Amazon Aurora is a modern relational database service offers performance and high availability at scale, fully open-source MySQL- and PostgreSQL-compatible editions.

Size

Pick r5 or r6g

  • large
  • xlarge
  • 2xlarge
  • 4xlarge
  • 8xlarge
  • 10xlarge (not on r6g)
  • 12xlarge
  • 16xlarge
  • 24xlarge (not on r6g)

Notes

Aurora is a Cluster that comes with a Primary (Writer, RW) and Read Replicas (Reader, RO) that connects to an Aurora Storage. The storage is 10GB chunk and each write will asyncly write to 6 copies in 3 AZs.

Primary and Replicas can be reach via endpoints. Writer and Reader endpoints are CNAME records that will give you the instance URI.

You can scale reads for Aurora DB cluster by creating up to 15 Aurora Replicas in the cluster.

Aurora writes to log records. There is no WAL. No need to flush to disk. So failover comes back quicker: 30s.

Aurora Storage network has Replication Server and Replication Agents to coordinate Primary and Replicas.

Aurora has feature call fast clone that create pointers to point to your storage at that moment, then you can test with real production data.

Aurora has two parameter groups. Cluster-level and instance-level. Cluster-level applies to entire Cluster (DB cluster parameter group). Instance-level applies to specific instance in Cluster (DB parameter group).

Aurora versions always start with next minor version, so there is no PG 14.0, only 14.1.

Migrate from AWS RDS to AWS Aurora is popular to create a snapshot, start a Aurora Cluster. Then asyncly catch up with AWS RDS then failover the RDS to Aurora.

To scale up an Aurora instance, create new read replicas with new size, then failover the current Primary and replicas.

Aurora can be derived by LEAST({DBInstanceClassMemory/9531392},5000) and the max connections of 5000 (depends on instance class). 1

Good reads

Understand replication capabilities in Amazon Aurora PostgreSQL

Create an Amazon CloudWatch dashboard to monitor Amazon RDS for PostgreSQL and Amazon Aurora PostgreSQL

Avoid PostgreSQL LWLock:buffer_content locks in Amazon Aurora: Tips and best practices

Tuning with wait events for Aurora PostgreSQL

Working with Amazon Aurora PostgreSQL

Amazon Aurora PostgreSQL parameters

Amazon Aurora PostgreSQL wait events

Best practices with Amazon Aurora PostgreSQL - Amazon Aurora