Amazon Aurora is a modern relational database service that offers performance and high availability at scale, fully open-source MySQL- and PostgreSQL-compatible editions, and a range of developer tools for building serverless and machine learning-driven applications.
For provisioned Aurora, you can choose On-Demand Instances and pay for your database by the hour with no long-term commitments or upfront fees, or choose Reserved Instances for additional savings. Alternatively, Aurora Serverless automatically starts up, shuts down, and scales capacity up or down based on your application's needs and you pay only for capacity consumed.
Aurora storage is billed in per GB-month increments, while I/Os consumed are billed in per million request increments. You do not need to provision either storage or I/Os in advance. Both scale automatically and you pay only for the storage and I/Os your Amazon Aurora database consumes.
Additional charges apply for specific features including Global Database, Backtrack, and Snapshot Export, as well as for data transfer out of Aurora. The prices below apply to both the MySQL- compatible and the PostgreSQL-compatible editions of Amazon Aurora, except where noted.
Select "Aurora MySQL-Compatible Edition" or "Aurora PostgreSQL-Compatible Edition" to view database instance pricing.
Database Storage and I/Os
Amazon Aurora database storage consumption is billed in per GB-month increments, and I/Os consumed are billed in per million request increments. You pay only for the storage and I/Os your Amazon Aurora database consumes and do not need to provision in advance. I/O charges may vary significantly depending on workload and database engine. To learn more, visit the Aurora FAQ, “Q: What are I/Os in Amazon Aurora and how are they calculated?”
For a simplified example, let’s assume you have an Aurora database and you start with a 1,000 GB database at the beginning of the month (30-day period) that is growing 2 percent or 20 GB daily. You are charged the pro-rated rate based on the days left in the month. So, you will be charged 1,000 GB for 30 days. The next day you will be charged for the additional 20 GB for 29 days. The next day you will be charged for the additional 20 GB for 28 days, and so on. Therefore, at the end of a 30-day period, your database would be 1,580 GB in size and your total charges would be $158.
For I/O charges, let’s assume the same database reads 100 data pages from storage per second to satisfy the queries running on it. This would result in 262.8 million read I/Os per month (100 pages per second x 730 hours x 60 minutes x 60 seconds). Similarly, let’s assume your application makes changes to the database affecting an average of 10 data pages per second. Aurora will charge one I/O operation for up to 4 KB of changes on each data page. If the volume of data changed per page is less than 4 KB, this would result in 10 write I/Os per second. This equates to 26.2 million I/Os per month (10 write I/Os per second * 730 hours * 60 minutes * 60 seconds).
The number of write operations can be less, subject to Aurora write I/O optimizations that can combine write operations less than 4 KB in size together under certain circumstances. Combined, your monthly maximum I/O cost for this workload will be $57.80 ($0.20 for one million requests x 289 million requests). However, if the volume of changes per data page is larger than 4 KB, Aurora will consume more than one I/O operation to persist the changes to a data page, resulting in a larger number of write I/Os to persist the data changes.
Amazon Aurora Global Database is an optional feature providing low-latency global reads and disaster recovery from region-wide outages. You pay for replicated write I/Os between the primary region and each secondary region. The number of replicated write I/Os to each secondary region is the same as the number of in-region write I/Os performed by the primary region. Apart from replicated write I/Os, you pay standard Aurora rates for instances, storage, cross-region data transfer, backup storage, and Backtrack, a feature that lets you quickly move a database to a prior point in time without needing to restore data from a backup.
Backup storage for Amazon Aurora is the storage associated with your automated database backups and any customer-initiated DB cluster snapshots. Increasing your backup retention period or taking DB cluster snapshots increases the backup storage consumed.
- Backup storage is allocated by Region. Total backup storage space is equivalent to the sum of the storage for all backups in that Region.
- Moving a DB cluster snapshot to another Region increases allocated backup storage in the destination Region.
- There is no additional charge for backup storage of up to 100% of your total Aurora database storage for each Aurora DB cluster. There is also no additional charge for backup storage if your backup retention period is one day and you don’t have any snapshots beyond the retention period.
- Backup storage, as well as snapshots you store after your DB cluster is deleted, will be charged at the following rates:
Backtrack lets you quickly move an Aurora database to a prior point in time without needing to restore data from a backup. This lets you quickly recover from user errors, such as dropping the wrong table or deleting the wrong row. This feature is currently available for the MySQL-compatible edition of Aurora.
You need to specify how far in the past you want to be able to Backtrack (e.g., “up to 24 hours”). Aurora will retain logs, called Change Records, for the specified Backtrack duration. You pay a simple hourly rate for storing Change Records.
For example, suppose your Aurora database is generating 10,000 Change Records per hour – which you can see by reviewing your CloudWatch metrics – and you want to Backtrack up to 10 hours in the past. To support this, Aurora would need to store 10,000 Change Records/hour x 10 hours = 100,000 Change Records. Say the cost in the US East (N. Virginia) Region is $0.012/hour per 1 million Change Records. Turning on Backtrack would increase your costs by $0.012 x (100,000 / 1,000,000) = $0.0012/hour.
When using Backtrack, you can review Amazon CloudWatch metrics in the AWS Console to see how many Change Records your database is generating per hour.
Amazon Relational Database Service (RDS) Snapshot Export provides an automated method to export data within an RDS or Aurora snapshot to Amazon Simple Storage Service (Amazon S3) in Parquet format. The Parquet format is up to 2x faster to unload and consumes up to 6x less storage in Amazon S3 compared to text formats. You can analyze the exported data using AWS services such as Amazon Athena, Amazon EMR, and Amazon SageMaker.
The pricing below is based on data transferred “in” and “out” of Amazon Aurora.
- As part of the AWS Free Tier, AWS customers receive 100 GB of free data transfer out to the internet free each month, aggregated across all AWS Services and Regions (except China and GovCloud).
- Data transferred between Amazon Aurora and Amazon Elastic Compute Cloud (Amazon EC2) instances in the same Availability Zone is free.
- Data transferred between Availability Zones for DB cluster replication is free.
- For data transferred between an Amazon EC2 instance and Amazon Aurora DB instance in different Availability Zones of the same Region, Amazon EC2 Regional Data Transfer charges apply.
Except as otherwise noted, prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax. For customers with a billing address in Japan, use of AWS is subject to Japanese Consumption Tax. Learn more.