Aurora
Aurora
Amazon Aurora is a relational database service that combines the speed and
availability of high-end commercial databases with the simplicity and cost-
effectiveness of open-source databases.
Aurora is an AWS proprietary database.
Fully managed service.
High performance, low price.
2 copies of data are kept in each AZ with a minimum of 3 AZ’s (6 copies).
Can handle the loss of up to two copies of data without affecting DB write
availability and up to three copies without affecting read availability.
The following diagram depicts how Aurora Fault Tolerance and Replicas work:
Aurora Replicas
Amazon Aurora 1
There are two types of replication: Aurora replica (up to 15), MySQL Read
Replica (up to 5).
The table below describes the differences between the two replica options:
Number of replicas Up to 15 Up to 5
Asynchronous
Replication type Asynchronous (seconds)
(milliseconds)
You can create read replicas for an Amazon Aurora database in up to five AWS
regions. This capability is available for Amazon Aurora with MySQL
compatibility.
Each region can have an additional 15 Aurora replicas to further scale local
reads.
You can choose between Global Database, which provides the best replication
performance, and traditional binlog-based replication.
You can also set up your own binlog replication with external MySQL
databases.
Amazon Aurora 2
Global Database
For globally distributed applications you can use Global Database, where a
single Aurora database can span multiple AWS regions to enable fast local
reads and quick disaster recovery.
Global Database uses storage-based replication to replicate a database across
multiple AWS Regions, with typical latency of less than 1 second.
You can use a secondary region as a backup option in case you need to
recover quickly from a regional degradation or outage.
Multi-Master
Amazon Aurora 3
Amazon Aurora Multi-Master is a new feature of the Aurora MySQL-compatible
edition that adds the ability to scale out write performance across multiple
Availability Zones, allowing applications to direct read/write workloads to
multiple instances in a database cluster and operate with higher availability.
Architecture
An Aurora cluster consists of a set of compute (database) nodes and a shared
storage volume.
The storage volume consists of six storage nodes placed in three Availability
Zones for high availability and durability of user data.
Every database node in the cluster is a writer node that can run read and write
statements.
The writer nodes are all functionally equal, and a failure of one writer node
does not affect the availability of the other writer nodes in the cluster.
High Availability
Aurora Multi-Master improves upon the high availability of the single-master
version of Amazon Aurora because all the nodes in the cluster are read/write
nodes.
With single-master Aurora, a failure of the single writer node requires the
promotion of a read replica to be the new writer.
In the case of Aurora Multi-Master, the failure of a writer node merely requires
the application using the writer to open connections to another writer.
Aurora Serverless
Amazon Aurora 4
Amazon Aurora Serverless is an on-demand, auto-scaling configuration for
Amazon Aurora.
The database automatically starts up, shuts down, and scales capacity up or
down based on application needs.
It enables you to run a database in the cloud without managing any database
instances. It’s a simple, cost-effective option for infrequent, intermittent, or
unpredictable workloads.
You simply create a database endpoint and optionally specify the desired
database capacity range and connect applications.
With Aurora Serverless, you only pay for database storage and the database
capacity and I/O your database consumes while it is active.
Pay on a per-second basis for the database capacity you use when the
database is active.
Can migrate between standard and serverless configurations with a few clicks
in the Amazon RDS Management Console.
The table below provides a few example use cases for Amazon Aurora
Serverless:
Application that is only used for a few minutes several times per
Infrequently Used day or week. Need a cost-effective database that only requires you
Applications to pay when it’s active. With Aurora Serverless, you only pay for
the database resources you consume.
Amazon Aurora 5
Software development and QA teams are using databases during
work hours, but don’t need them on nights or weekends. With
Development and
Aurora Serverless, your database automatically shuts down when
Test Databases
not in use, and starts up much more quickly when work starts the
next day.
Aurora Auto Scaling is available for both Aurora MySQL and Aurora
PostgreSQL.
Amazon Aurora 6
Your automatic backup retention period can be configured up to thirty-five
days.
When automated backups are turned on for your DB Instance, Amazon RDS
automatically performs a full daily snapshot of your data (during your preferred
backup window) and captures transaction logs (as updates to your DB Instance
are made).
Both options back up the entire DB instance and not just the individual DBs.
Both options create a storage volume snapshot of the entire DB instance.
You can disable automated backups by setting the retention period to zero (0).
Amazon Aurora 7
An outage occurs if you change the backup retention period from zero to a
non-zero value or the other way around.
The retention period is the period AWS keeps the automated backups before
deleting them.
Retention periods:
By default the retention period is 7 days if configured from the console for
all DB engines except Aurora.
The default retention period is 1 day if configured from the API or CLI.
Amazon Aurora 8