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.
Helpful links:
Relevant questions
DMS - When to switch the application to the new target database
Accepted Answerasked 4 months agoDMS service for hive table migration
Accepted Answerasked 2 years agoMigrate tables with LOBs from RDS MySQL to OpenSearch using DMS
asked 10 days agoBest practices for migrating MySQL RDS to Aurora Serverless
Accepted Answerasked 3 years agoDoes AWS DMS support ARRAY data type for RDS for PostgreSQL on EC2 to Aurora PostgreSQL migration?
Accepted Answerasked 2 years agoMigration from Aurora PostgreSQL back to regular RDS
Accepted Answerasked 3 years agoAWS DMS migration task doesn't automatically increment the source table
Accepted Answerasked 2 years agoDMS to migrate SQL Server from RDS to EC2
asked 2 years agoDMS charges for target S3 Bucket PUTs
Accepted Answerasked 2 years agoHow to create DMS migration endpoint for redshift serverless.
Accepted Answerasked 2 months 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, :)