CLOUD SERVICE · AWS

Amazon Aurora

Amazon Aurora is a fully managed relational database service by Amazon Web Services (AWS) that is designed to be compatible with MySQL and PostgreSQL while offering the performance and availability of commercial databases with improved scalability, durability, and security.

Cloud Services Hub →
Arch_Amazon Aurora_64 imageIcon source: AWS

Free Amazon Aurora tools

What is Amazon Aurora

Read the extensive description

Amazon Aurora is a fully managed relational database engine that combines the speed and reliability of high-end commercial databases with the simplicity and cost-effectiveness of open-source databases.

Introduced by Amazon Web Services (AWS) in 2014, Aurora has quickly become one of the popular choices for companies looking to deploy databases in the cloud. At its core, Aurora is designed to be compatible with MySQL and PostgreSQL, which allows developers to use the same code, drivers, and tools that they are already familiar with. However, under the hood, Amazon has heavily optimized Aurora for the cloud, providing performance improvements while ensuring strong durability and reliability. 

Aurora also offers Aurora DSQL, a serverless, distributed SQL database with PostgreSQL compatibility and active-active multi-Region availability.

One of the critical innovations of Amazon Aurora is its distributed, fault-tolerant, self-healing storage system, which automatically replicates data across multiple Availability Zones (AZs). Each Aurora database volume is backed by a fleet of storage instances that AWS manages across three AZs to ensure high availability and durability. The system is designed to handle the loss of up to two copies of data without affecting database write availability and up to three copies without affecting read availability. 

Aurora PostgreSQL and Aurora MySQL offer Aurora Standard and Aurora I/O-Optimized cluster configurations. I/O-Optimized is intended for I/O-intensive applications that need improved price performance and predictable pricing.

Aurora offers six times the throughput of PostgreSQL and MySQL. This boost is achieved through a combination of optimizations like advanced read-ahead and write-behind mechanisms, as well as the tight integration within the AWS ecosystem. Moreover, Amazon Aurora is highly scalable. The underlying storage automatically scales up to 256 TiB per database instance. 

Aurora PostgreSQL and Aurora MySQL can run with provisioned instances, whose resources depend on the selected instance type, or with Aurora serverless, which automatically starts, shuts down, and adjusts capacity to application demand.

The engine supports up to 15 low-latency read replicas, which helps in scaling read operations and enhancing the performance of read-heavy applications. Amazon Aurora also simplifies database management tasks. Since it's a managed service, many of the time-consuming tasks such as provisioning, patching, backup, recovery, failure detection, and repair are automated. 

Aurora PostgreSQL Limitless Database provides automated horizontal scaling beyond a single instance's write-throughput and storage limits by distributing workloads over multiple writer instances while retaining a single database.

Aurora continuously backs up your data to Amazon S3, and these backups are incremental and continuous, meaning that you can quickly recover your database to any point within the saved history. 

A comprehensive set of security features also comes built into Amazon Aurora. It integrates with AWS Identity and Access Management (IAM) and offers encryption at rest using AWS Key Management Service (KMS), as well as encryption in transit with SSL. Network isolation using Amazon VPC, along with the ability to create private endpoints, ensures that your data is protected within your own virtual network. 

Given these sophisticated features, Amazon Aurora is well-suited to a wide range of applications. Its high-performance characteristics make it ideal for enterprise applications, SaaS products, and any scenario that requires a robust, fault-tolerant, and scalable database. With Aurora, businesses and developers have the ability to support heavy workloads while benefiting from the ease of use and cost savings that come with a cloud-native database service.

Key Amazon Aurora Features

Amazon Aurora is a highly scalable, durable, and secure fully managed relational database with MySQL and PostgreSQL compatibility, offering superior performance, automated backups, easy monitoring, and recovery features.

High Performance and Scalability

Amazon Aurora offers six times the throughput of PostgreSQL and MySQL and automatically scales to workload demand. It is designed for up to 99.99% single-Region and 99.999% multi-Region availability.

Fully Managed

As a fully managed service, Aurora handles time-consuming tasks such as provisioning, patching, backup, recovery, failure detection, and repair. You also benefit from the integration with AWS services such as AWS Lambda and Amazon RDS.

Compatibility with MySQL and PostgreSQL

Amazon Aurora is fully compatible with existing MySQL and PostgreSQL open source databases, making it easy for database developers to transition applications without having to re-engineer their entire database.

Security

Aurora includes multiple layers of security, including network isolation using Amazon VPC, encryption at rest using keys you create and control through AWS Key Management Service (KMS), and encryption of data in transit using SSL. You also have the option to use IAM to define who can access the RDS databases.

Durability and Availability

Aurora is designed for up to 99.99% single-Region and 99.999% multi-Region availability. It also provides fault-tolerant distributed storage to ensure continuous data access and durability.

Automated Backups, Database Snapshots, and Point-in-Time Recovery

Continuous backups to Amazon S3 and automated snapshots enable point-in-time recovery. You can also easily create database snapshots, which allow you to quickly replicate databases across regions or accounts.

Monitoring and Management

Aurora provides an advanced monitoring system allowing you to track over 70 metrics through the AWS Management Console. Enhanced RDS monitoring provides visibility into your databases' performance and allows you to set alarms and automate actions based on specific conditions.

Amazon Aurora Use Cases

Amazon Aurora is employed for hosting web and SaaS applications, analytics, e-commerce systems, gaming databases, legacy database migrations, and disaster recovery, highlighting its high performance, scalability, and availability.

Web Applications Hosting

Amazon Aurora serves as a scalable and reliable database engine for web applications, handling multiple concurrent user requests and large amounts of data with ease, while maintaining high performance and availability.

Enterprise SaaS Applications

Designed for software-as-a-service (SaaS) providers, Amazon Aurora allows for multi-tenancy architecture support while offering each tenant isolated, secure, and compliant data environments, crucial for enterprise-level SaaS solutions.

High-Throughput Analytics

Amazon Aurora is optimized for scenarios requiring complex queries and high-throughput analytics, with features like parallel query processing, which significantly speed up data analysis tasks.

E-commerce Systems

E-commerce platforms leverage Aurora for its high transactional throughput, automatic scaling, and data durability, ensuring that spikes in shopping traffic do not compromise database performance or data integrity.

Gaming Databases

Gaming platforms utilize Aurora to manage user data, support real-time leaderboards, and ensure high availability and fast access during peak gaming times, thereby enhancing player experience and engagement.

Migration of Legacy Databases

Aurora provides a seamless migration path for legacy databases, allowing businesses to move away from traditional, costly database solutions to a more cost-effective, managed database service without sacrificing features or performance.

Disaster Recovery

By utilizing Aurora's cross-region replication and automated backups, organizations can implement robust disaster recovery plans, ensuring that data remains safe and accessible even after system outages or regional disruptions.

Amazon Aurora pricing models

Amazon Aurora offers pricing models including On-Demand Instances, Reserved Instances, Aurora Serverless with pay-per-use, and charges for additional storage and I/O usage.

Additional Storage and I/O Costs

Storage is billed per GB-month. Aurora Standard additionally charges for read and write I/O in increments of one million requests; Aurora I/O-Optimized has no read or write I/O operation charges.

Aurora DSQL

Aurora DSQL uses a separate serverless pricing model described on the Aurora DSQL pricing page.

Aurora Global Database

Global Database charges for replicated write I/O between the primary Region and each secondary Region under both Aurora Standard and Aurora I/O-Optimized configurations.

Aurora PostgreSQL Limitless Database

Limitless Database compute capacity is measured in Aurora Capacity Units (ACUs) and billed per second; one ACU includes approximately 2 GiB of memory with corresponding CPU and networking.

Aurora Serverless

Aurora Serverless pricing is based on the actual amount of resources consumed by your database, offering a variable pricing model that scales with your workloads automatically.

AWS Free Tier

New AWS customers receive $100 in credits at sign-up and can earn another $100, usable across eligible services including Aurora for up to 12 months. The Free plan supports Aurora PostgreSQL serverless instances with up to 4 ACUs and 1 GiB of storage per cluster.

Backtrack

Backtrack charges an hourly rate for storing change records retained for the configured backtrack duration.

Backup Storage

Backup storage up to 100% of the database cluster size and snapshots created within the backup retention period are free. Other backups and snapshots, including those from deleted clusters, are metered per GB-month.

CPU Credits

T4g and T3 instances run in Unlimited mode and incur CPU-credit charges when average CPU utilization over a rolling 24-hour period exceeds the instance baseline. Credits cost $0.09 per vCPU-hour across instance sizes and Regions for both cluster configurations and are not covered by Reserved Instances.

Data API

Data API charges for API and data requests without minimum fees or upfront commitments. Request payloads are metered in 32 KB increments, with an additional billable request for each increment.

Data Transfer

Aurora data transfer with EC2 in the same Availability Zone and cross-AZ DB cluster replication are free. Transfers between EC2 and Aurora instances in different Availability Zones of the same Region incur EC2 Regional Data Transfer charges.

Database Savings Plans

Eligible Aurora usage can receive savings in exchange for a commitment to a specified amount of usage, measured in dollars per hour, over a one-year term.

On-Demand Instances

Amazon Aurora on-demand instances charge by the hour with no long-term commitments or upfront fees. You pay for the compute capacity by the hour your instance is running.

RDS Extended Support

RDS Extended Support is charged per vCPU-hour for provisioned Aurora instances and per consumed ACU-hour for Aurora serverless. Rates depend on AWS Region and calendar date.

Reserved Instances

Reserved Instances offer discounts of up to 45% for a one-year term and up to 66% for a three-year term compared with On-Demand Instances.

Snapshot and Cluster Export

Snapshot and cluster exports are metered per gigabyte of snapshot data. Exporting only part of a cluster still incurs charges for the entire cluster, and repeated exports from the same snapshot are not incremental.

Zero-ETL Integrations

Zero-ETL integrations have no additional integration fee, but resources used to create and process their change data can incur charges.

Services Amazon Aurora integrates with

Amazon RDS image Amazon RDS

Amazon Aurora is a fully managed relational database engine, built within the Amazon RDS ecosystem, and provides MySQL and PostgreSQL compatible database engines.

Open Amazon RDS →
AWS CloudFormation image AWS CloudFormation

You can use AWS CloudFormation to deploy and manage Amazon Aurora databases as part of infrastructure as code.

Open AWS CloudFormation →
Amazon CloudWatch image Amazon CloudWatch

Integration with Amazon CloudWatch allows you to monitor Amazon Aurora database instances for performance and operational health.

Open Amazon CloudWatch →
AWS Lambda image AWS Lambda

You can use AWS Lambda to trigger functions in response to events in Amazon Aurora, allowing for serverless computing within your database environment.

Open AWS Lambda →
Amazon Simple Storage Service image Amazon S3

Amazon Aurora integrates with Amazon S3 for importing and exporting data, allowing for easy data migration and backups.

Open Amazon S3 →

Concepts related to Amazon Aurora