Migration software
AWS Database Migration Service
Suggested in 2 of our migration playbooks, mainly for Servers and cloud and Databases. Here is what it handles, how it treats key settings, and other tools for the same jobs.
What does AWS Database Migration Service handle?
The limits of the built-in tools that AWS Database Migration Service gets around, as covered in our playbooks.
Cloud-to-cloud migration
- Managed services do not move with the serversSupports Azure SQL Database, Azure Database for PostgreSQL and MySQL flexible server, and Google Cloud SQL for MySQL and PostgreSQL as sources.
- Queues, serverless functions, managed databases, load balancers and identity do not move with the servers.Copies Azure SQL Database, Azure Database for PostgreSQL and MySQL, and Google Cloud SQL databases into AWS.
SQL Server and MySQL to Amazon RDS or Aurora
- Plan rollback without native log backupsSupports CDC from Amazon RDS for SQL Server with MS-CDC or MS-REPLICATION enabled and the Full or Bulk logged recovery model. Use DMS 3.5.3 or later so changes are also read from log backups.
- Plan rollback without native log backupsAWS lists on-premises SQL Server (Enterprise, Standard, Workgroup and Developer) as a supported target. Start the reverse task at cutover, before the first application write.
- RDS for SQL Server cannot make native log backups, so you cannot ship changes back to the old server after writes start.Replicates ongoing changes from RDS for SQL Server with MS-CDC or MS-REPLICATION on. Use DMS 3.5.3 or later.
- RDS for SQL Server cannot make native log backups, so you cannot ship changes back to the old server after writes start.Writes to on-premises SQL Server. Start the reverse task at cutover, before the first application write.
How does AWS Database Migration Service handle key settings?
From the settings checklists in our playbooks: what AWS Database Migration Service carries across.
| Setting | How it handles it | Playbook |
|---|---|---|
| Managed databases | Full load plus ongoing changes into AWS. Creates tables, primary keys and sometimes unique indexes, but not secondary indexes, other constraints, defaults or user accounts. | Cloud-to-cloud migration |
| Large objects in databases | Limited LOB mode truncates any LOB larger than the size you set. Full LOB mode copies them whole, more slowly. Inline LOB mode works only during the full load. | Cloud-to-cloud migration |
| Engine version and edition | Copies between different versions and engines, with DMS Schema Conversion for engine changes. | SQL Server and MySQL to Amazon RDS or Aurora |
| Logins, users and grants | Does not create user accounts on the target. | SQL Server and MySQL to Amazon RDS or Aurora |
| Stored procedures, functions, triggers and jobs | Create triggers after the migration and before application cutover. Whether it copies stored procedures: not stated in AWS's guidance: test it in your pilot. | SQL Server and MySQL to Amazon RDS or Aurora |
| Indexes, keys and defaults | Creates tables, primary keys and sometimes unique indexes, but not secondary indexes, other constraints or data defaults. With ongoing replication, add secondary indexes after the full load and foreign keys after cached changes are applied. | SQL Server and MySQL to Amazon RDS or Aurora |
| Large text and binary columns (LOBs) | Limited LOB mode truncates any LOB larger than the size you set. Full LOB mode copies them whole, more slowly. Inline LOB mode works only during the full load. | SQL Server and MySQL to Amazon RDS or Aurora |
| Database and file size | Not stated in AWS's DMS documentation: test it in your pilot. | SQL Server and MySQL to Amazon RDS or Aurora |
| Features the method cannot carry | Does not support some SQL Server features, such as sparse columns, columnstore indexes, memory-optimised and temporal tables. Run the premigration assessment to find them. | SQL Server and MySQL to Amazon RDS or Aurora |
| Encryption | Not stated in AWS's DMS documentation: test it in your pilot. | SQL Server and MySQL to Amazon RDS or Aurora |
| Time zone and server settings | Not stated in AWS's DMS documentation: test it in your pilot. | SQL Server and MySQL to Amazon RDS or Aurora |
| Catch-up copies before cutover | Full load plus ongoing replication. SQL Server sources need MS-CDC or MS-REPLICATION; MySQL sources need binlog_format=ROW. | SQL Server and MySQL to Amazon RDS or Aurora |
| Rollback after cutover | Replicates ongoing changes from RDS for SQL Server with MS-CDC or MS-REPLICATION on. Use DMS 3.5.3 or later. | SQL Server and MySQL to Amazon RDS or Aurora |
| Rollback after cutover | Writes to on-premises SQL Server. Start the reverse task at cutover, before the first application write. | SQL Server and MySQL to Amazon RDS or Aurora |
| How many at once | Tasks share the replication instance you size, so watch its CPU and memory in CloudWatch. | SQL Server and MySQL to Amazon RDS or Aurora |
Which tools do the same jobs as AWS Database Migration Service?
Other tools our playbooks suggest for the same migrations.
We write these notes from the vendor documentation cited in each playbook. Tools cannot pay to be included or to change them. Check the vendor's current documentation and terms before you buy.