Recently I was faced with the challenge of having to migrate a set of AWS DynamoDB tables to completely new tables. We wanted to achieve this without affecting any of our users, and without having a maintenance window while migrating data from the old table to the new ones.
The following will be a very high-level overview of how you:
- Get all your DynamoDB events onto a queue
- Replicate your DynamoDB tables to the new tables (or even a different region)
- Continuously synchronize your original tables to your new tables
- Restart the migration if you made an error
- Complete the switchover after validating everything looks OK