Amazon Aurora MySQL Migration Handbook
Publication date: April 29, 2022 (Document history)
This paper provides best practices for planning, implementing, and troubleshooting database migrations from MySQL-compatible and non- MySQL-compatible database products to Amazon Aurora. It also teaches Amazon Aurora database administrators how to diagnose and troubleshoot common migration and replication errors.
Are you Well-Architected?
The
AWS Well-Architected Framework
For more expert guidance and best practices for your cloud
architecture—reference architecture deployments, diagrams, and
whitepapers—refer to the
AWS Architecture Center
Introduction
For decades, traditional relational databases have been the primary choice for data storage and persistence. These database systems continue to rely on monolithic architectures and were not designed to take advantage of cloud infrastructure. These monolithic architectures present many challenges, particularly in areas such as cost, flexibility, and availability. To address these challenges, AWS redesigned relational database for the cloud infrastructure and introduced Amazon Aurora.
Amazon Aurora
Amazon Aurora is available through the
Amazon Relational Database Service
Amazon Aurora is built for mission-critical workloads and is highly available by default. An Aurora database cluster spans multiple Availability Zones (AZs) in a Region, providing out-of-the-box durability and fault tolerance to your data across physical data centers. An Availability Zone is composed of one or more highly available data centers operated by Amazon. AZs are isolated from each other and are connected through low-latency links. Each segment of your database volume is replicated six times across these AZs.
Aurora cluster volumes automatically grow as the amount of data in your database increases and it dynamically shrinks the storage when the data is deleted from the cluster with no performance or availability impact, so there is no need for estimating and provisioning large amount of database storage ahead of time. An Aurora cluster volume can grow to a maximum size of 128 tebibytes (TiB). You are only charged for the space that you use in an Aurora cluster volume.
The automated backup capability in Aurora supports point-in-time recovery
of your data, enabling you to restore your database to any point
within the backup retention period, up to the last five minutes.
Automated backups are stored in
Amazon Simple Storage Service
For applications that need read-only replicas, you can create up to 15 Aurora Replicas per Aurora database with very low replica lag. These replicas share the same underlying storage as the primary instance, lowering costs and avoiding the need to perform writes at the replica nodes.
Amazon Aurora is highly secure and allows you to encrypt your databases using keys that you create and control through AWS Key Management Service (AWS KMS). On a database instance running with Amazon Aurora encryption, data stored at rest in the underlying storage is encrypted, as are the automated backups, snapshots, and replicas in the same cluster. Amazon Aurora uses SSL (AES-256) to secure data in transit.
For a complete list of Aurora features, refer to
Amazon Aurora