I’m stuck with a tricky situation. We’ve got this huge MySQL database, about 75GB, and we need to move it to Amazon RDS. The catch? We can only afford a tiny window of downtime, like 3 minutes tops.
Has anyone tackled something similar before? I’m really hoping to find a step-by-step guide or some solid advice on how to pull this off without causing major disruptions to our service.
I’ve been googling for hours, but most solutions I’ve found either don’t address such a large database or they require way more downtime than we can spare.
Any tips, tricks, or war stories would be super helpful. Thanks in advance for any insights you can share!
I’ve been through a similar migration, and here’s what worked for us: use AWS Database Migration Service (DMS). It’s designed for exactly this scenario. Set up a replication instance, create source and target endpoints, then configure a migration task. The beauty is it can do continuous replication while your source DB is still live.
Start with a full load to copy all existing data, then switch to CDC (Change Data Capture) mode. This keeps the RDS instance in sync with your source. When ready, briefly pause writes to the source DB, let DMS catch up (usually quick), then switch your application to the new RDS endpoint. We managed this in about 2 minutes of downtime.
Just ensure your network and IAM permissions are properly set up beforehand. Also, test thoroughly in a non-production environment first. Good luck with your migration!