Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News AWS Launches Relational Database Migration Service

AWS Launches Relational Database Migration Service

After a brief beta period that saw customers migrate more than 1,000 on-premises databases to the cloud, AWS formally released their Database Migration Service. This on-demand cloud service supports live migration scenarios, and customers who wish to switch their database platform as part of the migration can do so, thanks to a free schema conversion tool.

Amazon unveiled this service last Fall at their annual re:Invent conference and offered customers a limited preview in a single AWS region. Now, the Database Migration Service (DMS) is open to all customers and available in eight global AWS regions. In a blog post announcing the general availability, AWS Chief Evangelist Jeff Barr described how this managed service works.

The AWS Database Migration Service works by setting up and then managing a replication instance on AWS. This instance unloads data from the source database and loads it into the destination database, and can be used for a one-time migration followed by on-going replication to support a migration that entails minimal downtime.  Along the way DMS handles many of the complex details associated with migration, including data type transformation and conversion from one database platform to another (Oracle to Aurora, for example). The service also monitors the replication and the health of the instance, notifies you if something goes wrong, and automatically provisions a replacement instance if necessary.

While one DMS endpoint always needs to be in AWS – running on an EC2 virtual machine or within the Relational Database Service (RDS) – the other endpoint can be located on any accessible host. The replication instance sits in between the endpoints and handles the secure transfer of data. DMS can be used for either a one-time migration or ongoing replication between databases.  When configuring the migration task, the user chooses “either a full load of the existing data, a full load of the data plus ongoing changes, or just a replication of the ongoing changes.” DMS works with a wide range of relational databases, and supports like-for-like migrations, or, migrating from one platform to another.

AWS Database Migration Service can be used for Oracle, SQL Server, PostgreSQL, Amazon Aurora, MySQL, or MariaDB migrations. The service supports homogeneous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle to Amazon Aurora or SQL Server to MySQL. AWS Database Migration Service can migrate on-premises databases to Amazon RDS or Amazon EC2, databases running on EC2 to RDS, or vice versa, as well as migrate an RDS database to another RDS database.

Regardless of which source or destination database engine is being used, the user doesn’t have to install drivers or software locally in order for DMS to work correctly. Amazon expressed some surprise at the frequency by which customers were both migrating and changing their database engine to a more open one.

“Hundreds of customers moved more than a thousand of their on-premises databases to Amazon Aurora, other Amazon RDS engines, or databases running on Amazon EC2 during the preview of the AWS Database Migration Service,” said Hal Berenson, Vice President, Relational Database Services, AWS. “Customers repeatedly told us they wanted help moving their on-premises databases to AWS, and also moving to more open database engine options, but the response to the AWS Database Migration Service has been even stronger than we expected. In the preview, one-third of the database migrations used the AWS Database Migration Service to not only move databases to the AWS Cloud, but also to switch database engines in the process.”

Customers that choose to migrate to a different, non-commercial database platform are told to use the AWS Schema Conversion Tool to convert the source schema and stored procedures to the appropriate destination format. Specifically, it takes either Microsoft SQL Server or Oracle source schemas and converts them to formats that will run in Amazon RDS instances based on PostgreSQL, Aurora, or MySQL. This free conversion tool runs as client software on Windows, OS X, or Linux desktops.

Amazon is positioning DMS as an affordable way to migrate data. There’s no cost for the migration software itself, as customers only have to pay for the cost of the replication instance. These replication instances “includes storage sufficient for swap space, replication logs, and data cache, for most replications and inbound data transfer is free.” There are two EC2 instance types available for hosting replication instances: T2 and C4. The T2 provides moderate performance and burstable CPU consumption. Amazon recommends using these for developing and testing migrations, or periodic migration tasks. The C4 is for high performance and low latency and recommended for use on large databases. A T2 instance comes with 50GB of network attached storage, and C4 instances include 100GB of network attached storage. It costs $0.115 per GB-month (US) for additional storage. DMS supports up to 6TB of storage for all replication instances in an account. While inbound data transfer is always free, and transfers between databases in the same AWS Availability Zone have no cost, customers who transfer between Availability Zones, AWS regions, or outside environments will see a per-GB charge.

DMS users can migrate all tables from a source database, or just a subset of tables. As one can imagine, there are caveats on what features are supported for Oracle (source, target), SQL Server (source, target), PostgreSQL (source), and MySQL (source, target) database migrations. Interestingly, encrypted data sources aren’t a problem for DMS.

AWS Database Migration Service connects to your database endpoints on the SQL interface layer. If you use the Transparent Data Encryption features of Oracle or SQL Server, AWS Database Migration Service will be able to extract decrypted data from such sources and replicate it to the target. The same applies to storage-level encryption. As long as AWS Database Migration Service has the correct credentials to the database source, it will be able to connect to the source and propagate data (in decrypted form) to the target.

Companies continue to move assets to the public cloud, but private cloud investments are also on the rise. The cost and complexity of data migration can be an drag on public cloud adoption, so providers like AWS continue to invest in services that simplify that activity.

Rate this Article