Reputation: 21
We have a plan to create a new application, which won't have the same architecture of the current one, and will definitely have some differences in the tables' schemas. Our current application's database is running on a AWS Aurora Serverless v1 cluster, with MySQL 5.7. We need to migrate data from the old application to the new one, making some schema changes in some places.
One solution is to create dumps of the old tables, in an easily readable format like csv, then import the data in the new application, picking the data as needed. This will require writing bespoke code on both applications to export data from one and import it into the other.
Considering that we are in AWS, and we intend to keep using it, choosing Aurora as a database (we'll have to decide whether use a provided solution or go with Serverless v2), is there any service to export data from one Aurora Serverless v1 cluster to another Aurora cluster, making changes along the way?
I know that database snapshots exist, but that's not exacly our goal. We need to migrate data from one database to another, not creating another copy of the first one. I've seen that there is a service, called "AWS Database Migration Service", that's used to migrate data into RDS, but does this service suit our needs, to get data from one Aurora Serverless database, do some changes, and then put it into another RDS database of our choice?
Upvotes: 0
Views: 756
Reputation: 1
There is another alternative which you could explore. It is easier than using DMS.
You could modify Serverless v1 to Aurora Provisioned using CLI aws rds modify-db-cluster (not available on console as of today) with below:
aws rds modify-db-cluster \
--db-cluster-identifier <ServerlessV1 Cluster-Name> \
--engine-mode provisioned \
--allow-engine-mode-change \
--db-cluster-instance-class <AuroraProvisioned Instance Type> \
--apply-immediately
Once that's done, the Aurora Serverless V1 will be converted to Aurora Provisioned as cluster as per designed. Then, you could create Aurora MySQL Blue/Green deployment which allow you to test application in green deployment environment. When you have done thorough testing and ready for cut over, you would then switchover from blue to green deployment.
If you decide to go with Serverless V2, you could Add a reader (Serverless V2), then fail over writer instance (Provisioned) to reader instance (Serverless V2) before performing thorough testing on Serverless V2 and switching over blue/green.
NOTE: Aurora blue/green deployment only applicable for MySQL on AWS.
Upvotes: 0
Reputation: 316
You could use following options to accomplish your goal.
1.- AWS Database Migration Service, this service provide you capabilities to replicate your data and also perform some schema transformation during replication process. You can create selection and transformation rules, the service will execute those rules and apply changes to the target schemas. You could review more details on this link.
2.- AWS Glue Studio, it is ETL service that allows you extract, convert and transfer data between source and target databases.
Automate ETL jobs between Amazon RDS for SQL Server and Azure Managed SQL using AWS Glue Studio
Upvotes: 1