Amazon Aurora is a MySQL compatible relational database engine that combines the speed, availability, and security of high end commercial databases with the simplicity and cost effectiveness of open source databases. Amazon Aurora is priced at one tenth the cost of commercial engines.
Once you have determined that Aurora is the database which you will be using for you application development, the next step is to decide on a migration approach and to create a database migration plan.
If the source database you want to migrate is compliant of MySQL 5.6 like MariaDB, Percona then you can go with below mentioned migration approaches.
RDS snapshot migration: If you have AWS RDS system running your MySQL DB server then you can simply migrate the snapshot of the database to the AWS Aurora DB. For migrations with downtime, you either have to stop your application or stop writing to the database while snapshot and migration is in progress.
Migration using native MySQL tools: You can use native MySQL tools also to migrate the schema from your DB server to AWS Aurora DB. Using this method gives you the more control over the database migration process.
Migration using AWS DMS: This is a tool provided by AWS only to migrate the database schema to AWS Aurora DB. Before you can use AWS DMS to move the data, you need to copy the database schema from source to target using native MySQL tools. Using AWS DMS is a great option when you don’t have experience using native MySQL tools. This comes with the facility to have downtime and also with no downtime approach also.
If the source database you want to migrate is non-MySQL-compliant database like Oracle, PostgresSQL etc to AWS Aurora DB then too there are several options available to complete the migration process.
Schema Migration: Schema migration from a non-MySQL-compliant database to Amazon Aurora can be achieved using the AWS Schema Conversion Tool. This tool is a desktop application that helps you convert your database schema from an Oracle, Microsoft SQL Server, or PostgreSQL database to an Amazon RDS MySQL DB instance or an Amazon Aurora DB cluster.
Data Migration: While supporting homogenous migrations with near-zero downtime, AWS Database Migration Service(AWS DMS) also supports continuous replication across heterogeneous databases and is a preferred option to move your source database to your target database, for both migrations with downtime and migrations with near-zero downtime.