Our Journey to AWS RDS - Lessons Learned from a Database Migration
By tobias.leyland@firstb2b.com • September 04, 2025 at 10:30 AMDatabase migrations are never simple, especially when you're dealing with enterprise-scale data. This week, we're excited to share our experience migrating our production database to AWS RDS and the valuable lessons we learned along the way.
The Challenge
Managing a database with several TBs of data comes with its own set of challenges. We needed better performance, improved monitoring capabilities, and most importantly, we wanted to reduce the operational overhead of database maintenance. AWS RDS promised all of this with the added benefit of high availability and automated backups.
Our Migration Strategy
We decided to use the AWS Database Migration Service (DMS) to handle the heavy lifting. Here's how we approached it:
The 3-Month Concurrent Run
Rather than risking a direct cutover, we ran both systems concurrently for three months. This gave us confidence in the migration process and allowed us to validate data integrity while maintaining our production environment's stability.
Our migration phases:
- Phase 1: Set up AWS RDS instance with appropriate sizing
- Phase 2: Configure DMS replication instance and tasks
- Phase 3: Monitor data synchronization and performance
- Phase 4: Validate data integrity and application compatibility
The Unexpected Challenge
Schema Migration Gotcha
One of the biggest surprises was discovering that the AWS Database Migration Tool didn't automatically bring over our complete schema. While the data migrated successfully, we had to manually recreate indexes, stored procedures, and other database objects.
This discovery meant essentially redoing the migration process, but the concurrent run strategy saved us from any downtime or data loss issues.
The Results
Now that we're fully operational on AWS RDS, the benefits are clear:
Performance Improvements
- Faster Networking: AWS's network infrastructure has significantly improved our database response times
- Optimized Instance: Running on a highly available RDS instance designed for our workload
Enhanced Monitoring
- CloudWatch integration provides detailed performance metrics
- Better visibility into query performance and resource utilization
- Automated alerts for performance anomalies
Reduced Operational Overhead
- AWS handles server maintenance, security patches, and updates
- Automated backups with point-in-time recovery
- Multi-AZ deployment for high availability