AWS Database Migration Service Documentation

AWS Database Migration Service (AWS DMS) is designed to help you migrate databases to AWS so that the source database remains operational during the migration, helping minimize downtime to applications that rely on the database. The AWS Database Migration Service can migrate your data to and from many widely-used commercial and open-source databases.

AWS Database Migration Service supports homogeneous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle or Microsoft SQL Server to Amazon Aurora. With AWS Database Migration Service, you can continuously replicate your data with high availability and consolidate databases into a petabyte-scale data warehouse by streaming data to Amazon Redshift and Amazon S3.

Benefits

Simple to use

With AWS Database Migration Service, there is no need to install any drivers or applications, and it does not require changes to the source database in most cases. You can begin a database migration in the AWS Management Console. Once the migration has started, DMS manages the migration process including automatically replicating data changes that occur in the source database during the migration process. You can also use this service for continuous data replication.

Minimal downtime

AWS Database Migration Service is designed to help you migrate your databases to AWS with minimal downtime. Data changes to the source database that occur during the migration are continuously replicated to the target, allowing the source database to be operational during the migration process. After the database migration is complete, the target database will remain synchronized with the source for as long as you choose, allowing you to switchover the database at a convenient time.

Supports widely used databases

AWS Database Migration Service can migrate your data to and from many of the widely used commercial and open source databases. It supports homogeneous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle to Amazon Aurora. Migrations can be from on-premises databases to Amazon RDS or Amazon EC2, databases running on EC2 to RDS, or vice versa, as well as from one RDS database to another RDS database. It can also move data between SQL, NoSQL, and text based targets.

On-going replication

You can set up a DMS task for either one-time migration or on-going replication. An on-going replication task keeps your source and target databases in sync. Once set up, the on-going replication task will continuously apply source changes to the target. Data validation and transformations are available for any replication task.

Reliability

The AWS Database Migration Service continually monitors source and target databases, network connectivity, and the replication instance. In case of interruption, it restarts the process and continues the migration from where it stopped. Multi-AZ option allows you to have high-availability for database migration and continuous data replication by enabling redundant replication instances.

Migration planning

AWS DMS Fleet Advisor automates migration planning and helps you migrate database and analytics fleets to the cloud at scale with minimal effort. To accelerate migrations, AWS DMS Fleet Advisor automatically inventories and assesses your on-premises database and analytics server fleet and identifies potential migration paths. It discovers and analyzes the same source databases supported in AWS DMS, and delivers results in a few hours.

Schema assessment and conversion

AWS DMS Schema Conversion (DMS SC) allows you to automatically assess and convert database schemas and code objects at scale with zero downtime. It supports popular heterogeneous migrations, such as Oracle to Amazon RDS for PostgreSQL, SQL Server to Amazon RDS for MySQL, SQL Server to Amazon Aurora PostgreSQL-Compatible Edition, and Oracle to Amazon Aurora MySQL-Compatible Edition.

With a few clicks in DMS Schema Conversion, you can generate an assessment report that shows schema conversion complexity, and get prescriptive guidance on how to resolve any incompatibilities between the source and target database engines. Alternatively, you can download the AWS Schema Conversion Tool (AWS SCT) and perform similar assessment and conversion on your local system. 

Use cases

Homogeneous Database Migrations

In homogeneous database migrations, the source and target database engines are the same or are compatible like Oracle to Amazon RDS for Oracle, MySQL to Amazon Aurora, MySQL to Amazon RDS for MySQL, or Microsoft SQL Server to Amazon RDS for SQL Server. Since the schema structure, data types, and database code are compatible between the source and target databases, this kind of migration can be a one-step process. You create a migration task with connections to the source and target databases, and then start the migration. The source database can be located in your own premises outside of AWS, running on an Amazon EC2 instance, or it can be an Amazon RDS database. The target can be a database in Amazon EC2 or Amazon RDS.

Heterogeneous Database Migrations

In heterogeneous database migrations, the source and target databases engines are different like in the case of Oracle to Amazon Aurora, Oracle to PostgreSQL, or Microsoft SQL Server to MySQL migrations. In this case, the schema structure, data types, and database code of source and target databases can be quite different, requiring a schema and code transformation before the data migration starts. That makes heterogeneous migrations a two-step process. First use the AWS Schema Conversion Tool, which is designed to convert the source schema and code to match that of the target database, and then use the AWS Database Migration Service, which is designed to migrate data from the source database to the target database. Required data type conversions will be done by the AWS Database Migration Service during the migration. The source database can be located in your own premises outside of AWS, running on an Amazon EC2 instance, or it can be an Amazon RDS database. The target can be a database in Amazon EC2 or Amazon RDS.

Development and Test

AWS Database Migration Service is also designed to be used to migrate data both into and out of the cloud for development purposes. There are two common scenarios. The first is to deploy development, test or staging systems on AWS, to take advantage of the cloud’s scalability and rapid provisioning. This way, it is possible for developers and testers to use copies of real production data, and they can copy updates back to the on-premises production system. The second scenario is when development systems are on-premises (often on personal laptops), and you migrate a current copy of an AWS Cloud production database to these on-premises systems either once or continuously. This can help avoid disruption to existing DevOps processes while ensuring the up-to-date representation of your production system.

Database Consolidation

AWS Database Migration Service is also designed to consolidate multiple source databases into a single target database. This can be done for homogeneous and heterogeneous migrations, and you can use this feature with all supported database engines. The source databases can be located in your own premises outside of AWS, running on an Amazon EC2 instance, or it can be an Amazon RDS database. The sources databases can also be spread across different locations. For example, one of the source databases can be in your own premises outside of AWS, while the second one in Amazon EC2, and the third one in an Amazon RDS database. The target can be a database in Amazon EC2 or Amazon RDS.

DMS Serverless

AWS DMS Serverless automatically provisions, monitors, and scales migration resources to an appropriate capacity to meet demand. It supports popular DMS use cases including continuous data replication, database consolidation, and migrations, even if the source and large database engines differ. DMS Serverless is managed and you only pay for the data migration capacity you use. The source databases can be located in your own premises outside of AWS, running on an Amazon EC2 instance, or it can be an Amazon RDS database. The sources databases can be spread across different locations. For example, one of the source databases can be in your premises outside of AWS, while the second on in Amazon EC2, and the third one in an Amazon RDS database. The target can be a database in Amazon EC2 or Amazon RDS.

Continuous Data Replication

AWS Database Migration Service is also designed to perform continuous data replication. Continuous data replication has a multitude of use cases including Disaster Recovery instance synchronization, geographic database distribution and Dev/Test environment synchronization. You can use DMS for both homogeneous and heterogeneous data replications for all supported database engines. The source or destination databases can be located in your own premises outside of AWS, running on an Amazon EC2 instance, or it can be an Amazon RDS database. You can replicate data from a single database to one or more target databases or consolidate and replicate data from multiple databases to one or more target databases.

Additional Information

For additional information about service controls, security features and functionalities, including, as applicable, information about storing, retrieving, modifying, restricting, and deleting data, please see https://docs.aws.amazon.com/index.html. This additional information does not form part of the Documentation for purposes of the AWS Customer Agreement available at http://aws.amazon.com/agreement, or other agreement between you and AWS governing your use of AWS’s services.