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 ?

1 Answer
Accepted Answer

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.

Helpful links:

answered 2 years ago
  • 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, :)

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions