Amazon Database Migration Service
The Amazon Database Migration Service (Amazon DMS) helps you migrate databases to Amazon quickly and securely. The source database remains fully operational during the migration, minimizing downtime to applications that rely on the database. The Amazon Database Migration Service can migrate your data to and from most widely-used commercial and open-source databases.
The service supports homogenous migrations such as Oracle to Oracle as well as heterogeneous migrations between different database platforms such as Oracle to Amazon Aurora or Microsoft SQL Server to MySQL. You can also use Amazon DMS to stream data to Amazon Redshift, Amazon DynamoDB, and Amazon S3 from any of the supported sources, which are Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database, SAP ASE, SQL Server, IBM DB2 LUW, and MongoDB, enabling consolidation and easy analysis of data in a petabyte-scale data warehouse. The Amazon Database Migration Service can also be used for continuous data replication with high availability.
For Amazon DMS pricing, see Database Migration Service pricing
For all supported sources for Amazon DMS, see Sources for data migration
For all supported targets for Amazon DMS, see Targets for data migration
Migration Tasks Performed by Amazon DMS
In a traditional solution, you need to perform capacity analysis, procure hardware and software, install and administer systems, and test and debug the installation. Amazon DMS automatically manages the deployment, management, and monitoring of all hardware and software needed for your migration. You can start your migration within minutes of starting the Amazon DMS configuration process.
With Amazon DMS, you can scale up (or scale down) your migration resources as needed to match your actual workload. For example, if you determine that you need additional storage, you can easily increase your allocated storage and restart your migration, usually within minutes. On the other hand, if you discover that you aren’t using all of the resource capacity you configured, you can easily downsize to meet your actual workload.
Amazon DMS uses a pay-as-you-go model. You only pay for Amazon DMS resources while you use them as opposed to traditional licensing models with up-front purchase costs and ongoing maintenance charges.
Amazon DMS automatically manages all of the infrastructure that supports your migration server including hardware and software, software patching, and error reporting.
Amazon DMS provides automatic failover. If your primary replication server fails for any reason, a backup replication server can take over with little or no interruption of service.
Amazon DMS can help you switch to a modern, perhaps more cost-effective database engine than the one you are running now. For example, Amazon DMS can help you take advantage of the managed database services provided by Amazon RDS or Amazon Aurora. Or, it can help you move to the managed data warehouse service provided by Amazon Redshift, NoSQL platforms like Amazon DynamoDB, or low-cost storage platforms like Amazon S3. Conversely, if you want to migrate away from old infrastructure but continue to use the same database engine, Amazon DMS also supports that process.
Amazon DMS supports nearly all of today’s most popular DBMS engines as data sources, including Oracle, Microsoft SQL Server, MySQL, MariaDB, PostgreSQL, Db2 LUW, SAP, MongoDB, and Amazon Aurora.
Amazon DMS provides a broad coverage of available target engines including Oracle, Microsoft SQL Server, PostgreSQL, MySQL, Amazon Redshift, SAP ASE, Amazon S3, and Amazon DynamoDB.
You can migrate from any of the supported data sources to any of the supported data targets. Amazon DMS supports fully heterogeneous data migrations between the supported engines.
Amazon DMS ensures that your data migration is secure. Data at rest is encrypted with Amazon Key Management Service (Amazon KMS) encryption. During migration, you can use Secure Socket Layers (SSL) to encrypt your in-flight data as it travels from source to target.
How Amazon DMS Works
At its most basic level, Amazon DMS is a server in the Amazon Cloud that runs replication software. You create a source and target connection to tell Amazon DMS where to extract from and load to. Then, you schedule a task that runs on this server to move your data. Amazon DMS creates the tables and associated primary keys if they don’t exist on the target. You can pre-create the target tables manually if you prefer. Or you can use Amazon SCT to create some or all of the target tables, indexes, views, triggers, and so on.
The following diagram illustrates the Amazon DMS process.
![How Database Migration Service works](images/pb-how-aws-dms-works.png)
Latest Updates
Amazon DMS is continuously evolving and supporting more and more options, find some of the latest updates following:
-
Support for full-load with change data capture (CDC) and CDC-only tasks running against Oracle source tables created using the
CREATE TABLE AS
statement. -
New MySQL version Amazon DMS now supports MySQL version 8.0 as a source except when the transaction payload is compressed.
-
Support for Amazon Secrets Manager integration. You can store the database connection details (user credentials) for supported endpoints securely in Amazon Secrets Manager. You can then submit the corresponding secret instead of plain-text credentials to Amazon DMS when you create or modify an endpoint. Amazon DMS then connects to the endpoint databases using the secret. For more information, see Using secrets to access Database Migration Service endpoints
. -
Support for Oracle extended data types for source and target.
-
Support for TLS 1.2 for MySQL endpoints.
-
Support for TLS 1.2 for SQL Server endpoints.
For a complete guide with a step-by-step walkthrough including all the latest notes for migrating SQL Server to Aurora MySQL with Amazon DMS, see Migrating a SQL Server Database to Amazon Aurora MySQL
For more information about Amazon DMS, see What is Database Migration Service?