Performance and Scalability
High Throughput with Low Jitter
Amazon Aurora uses a variety of software and hardware techniques to ensure the database engine is able to fully leverage available compute, memory and networking. I/O operations use distributed systems techniques such as quorums to improve performance consistency. Testing on standard benchmarks such as SysBench have shown up to a 5X increase over stock MySQL 5.6 on similar hardware.
Push-button Compute Scaling
Using the Amazon RDS APIs or with a few clicks in the AWS Management Console, you can scale the compute and memory resources powering your deployment up or down, up to a maximum of 32 vCPUs and 244 GiB of RAM. Compute scaling operations typically complete in a few minutes.
Amazon Aurora will automatically grow the size of your database volume as your database storage needs grow. Your volume will grow in increments of 10 GB up to a maximum of 64 TB or a maximum volume size you define. You don't need to provision excess storage for your database to handle future growth.
Amazon Aurora Replicas
You can create Amazon Aurora Replicas and serve high-volume application read traffic from multiple instances, thereby increasing aggregate read throughput. Amazon Aurora Replicas share the same underlying storage as the source instance, lowering costs and avoiding the need to perform writes at the replica nodes. This frees up more processing power to serve read requests and reduces the replica lag time – often down to single digit milliseconds. You can create up to 15 Amazon Aurora Replicas per Amazon Aurora database.
Instance Monitoring and Repair
Amazon RDS continuously monitors the health of your Amazon Aurora database and underlying EC2 instance. On database failure, Amazon RDS will automatically restart the database and associated processes. Amazon Aurora does not require crash recovery replay of database redo logs, greatly reducing restart times. Amazon Aurora also isolates the database buffer cache from the database process, allowing the cache to survive a database restart. On instance failure, Amazon RDS uses RDS Multi-AZ
technology to automate failover to one of up to 15 Amazon Aurora Replicas you have created in any of three Availability Zones. If no Amazon Aurora Replicas have been provisioned, in the case of a failure, Amazon RDS will attempt to create a new Amazon Aurora DB instance for you automatically. Please see our FAQ
for more information.
Fault-tolerant and Self-healing Storage
Each 10GB chunk of your database volume is replicated six ways, across three Availability Zones. Amazon Aurora storage is fault-tolerant, transparently handling the loss of up to two copies of data without affecting database write availability and up to three copies without affecting read availability. Amazon Aurora storage is also self-healing. Data blocks and disks are continuously scanned for errors and replaced automatically.
Automatic, Continuous, Incremental Backups and Point-in-time Restore
Amazon Aurora's backup capability enables point-in-time recovery for your instance. This allows you to restore your database to any second during your retention period, up to the last five minutes. Your automatic backup retention period can be configured up to thirty-five days. Automated backups are stored in Amazon S3
, which is designed for 99.999999999% durability. Amazon Aurora backups are automatic, incremental, and continuous and have no impact on database performance.
DB Snapshots are user-initiated backups of your instance stored in Amazon S3 that will be kept until you explicitly delete them. They leverage the automated incremental snapshots to reduce the time and storage required. You can create a new instance from a DB Snapshot whenever you desire.
Encryption at Rest and in Transit
Amazon Aurora uses SSL to secure data in transit and encrypts data at rest. If you choose to enable encryption of data at rest, all data written to Amazon Aurora storage will be encrypted as well as all backups stored in Amazon S3.
Amazon Aurora runs in Amazon VPC
, which allows you isolate your database in your own virtual network, and connect to your on-premises IT infrastructure using industry-standard encrypted IPsec VPNs. To learn more about Amazon RDS in VPC, refer to the Amazon RDS User Guide. In addition, using Amazon RDS, you can configure firewall settings and control network access to your DB Instances.
Amazon RDS for Aurora is integrated with AWS Identity and Access Management
(IAM) and provides you the ability to control the actions that your AWS IAM users and groups can take on specific Amazon RDS for Aurora resources (e.g., DB Instances, DB Snapshots, DB Parameter Groups, DB Event Subscriptions, DB Options Groups). In addition, you can tag your Amazon RDS for Aurora resources, and control the actions that your IAM users and groups can take on groups of resources that have the same tag (and tag value). For example, you can configure your IAM rules to ensure developers are able to modify "Development" DB Instances, but only Database Administrators can modify and delete "Production" DB Instances. For more information about Resource-level Permissions, refer to Using AWS IAM with Amazon RDS Resources and Tagging Amazon RDS Resources.
Easy to Use
Getting started with Amazon RDS for Aurora is easy. Just launch a new Amazon Aurora DB Instance using the AWS Management Console or a single API call. Amazon Aurora DB Instances are pre-configured with parameters and settings appropriate for the DB Instance class you have selected. You can launch a DB Instance and connect your application within minutes without additional configuration. DB Parameter Groups provide granular control and fine-tuning of your database.
Standard MySQL import and export tools work with Amazon Aurora. You can also easily create a new Amazon Aurora database from an Amazon RDS for MySQL DB Snapshot. Migration operations based on DB Snapshots typically complete in under an hour, but will vary based on the amount and format of data being migrated.
Monitoring and Metrics
Amazon RDS for Aurora provides Amazon CloudWatch
metrics for your DB Instances at no additional charge. You can use the AWS Management Console to view over 20 key operational metrics for your database instances, including compute, memory, storage, query throughput, cache hit ratio, and active connections.
Automatic Software Patching
Amazon RDS for Aurora will keep your database up-to-date with the latest patches. You can exert optional control over when and if your instance is patched via DB Engine Version Management.
DB Event Notifications
Amazon RDS for Aurora can notify you via email or SMS of database events through Amazon SNS
. You can use the AWS Management Console or the Amazon RDS APIs to subscribe to over 40 different DB events associated with your Aurora databases.
Pay Only for What You Use
There is no up-front commitment with Amazon RDS Aurora; you simply pay a monthly charge for each instance that you launch. And, when you’re finished with an Amazon Aurora DB Instance, you can easily delete it. You do not need to over-provision storage as a safety margin. You only pay for the storage you actually consume on an hourly basis. To see more details, visit the Amazon RDS for Aurora Pricing