DMS - When to switch the application to the new target database
I am exploring DMS for migrating RDS to Aurora database.
Can someone please explain how this migration type works: "Migrate existing data and replicate on-going changes"
Time T1 - So, my application is talking Source database
Time T2 - I use DMS to migrate data from source to target database.
Time T3 - Data migration completes..
Time T4 - I change my application to use target database by changing the endpoint of the database
My question is - Is the above correct ? What happens to data writes between Time T3 and T4 ? Does. "replicate on-going changes" , means, it will keep replicating the data from Source to Target till it is not stopped , and will make sure all writes get replicated to Target database ?
Yes, your overall high land plan is correct, but to provide more context around cutover, you'll have to plan a schedule for this essentially.
When the actual data migration is complete and the change data capture is going on or the target is already in sync, during this cutover phase, the application will have to be stopped so no new writes can go to source database anymore. Next, you'll track the DMS task to ensure the data is in sync and once all changes have been pushed to target, you will then switch your application to target to Aurora. This will ensure there is no data inconsistency.
"Replicate on-going changes" means that any new changes to source RDS will keep replicating to target Aurora cluster.
I don't see the mention of the database engine, but if you are using MySQL or Postgres RDS, an easier strategy is to create an Aurora read replica which is relatively simple and can migrate all objects fully. The cutover plan would be the same for that though. You can stop application writes to RDS, once Aurora read replica is in sync, promote it to primary cluster and redirect application to this new Aurora cluster.
Okay, so that means, there will be some downtime in the application, in order to make sure there are no writes to primary RDS DB.
I was also considering the Replica cluster approach, but it had small downtime during the cutover... SO, I was wondering if DMS could prevent that small downtime.
It seems like the downtime is going to be the same in both approaches.
Thanks for answering, :)
DMS - When to switch the application to the new target databaseAccepted Answerasked 4 months ago
DMS service for hive table migrationAccepted Answerasked 2 years ago
Migrate tables with LOBs from RDS MySQL to OpenSearch using DMSasked 10 days ago
Best practices for migrating MySQL RDS to Aurora ServerlessAccepted Answerasked 3 years ago
Does AWS DMS support ARRAY data type for RDS for PostgreSQL on EC2 to Aurora PostgreSQL migration?Accepted Answerasked 2 years ago
Migration from Aurora PostgreSQL back to regular RDSAccepted Answerasked 3 years ago
AWS DMS migration task doesn't automatically increment the source tableAccepted Answerasked 2 years ago
DMS to migrate SQL Server from RDS to EC2asked 2 years ago
DMS charges for target S3 Bucket PUTsAccepted Answerasked 2 years ago
How to create DMS migration endpoint for redshift serverless.Accepted Answerasked 2 months ago