Karl Robinson
Karl Robinson

March 9, 2020

Karl is CEO and Co-Founder of Logicata – he’s an AWS Community Builder in the Cloud Operations category, and AWS Certified to Solutions Architect Professional level. Knowledgeable, informal, and approachable, Karl has founded, grown, and sold internet and cloud-hosting companies.

AWS Database Migration Service is a simple and cost effective way to migrate live, petabyte-scale databases both into and out of the AWS Cloud with virtually no downtime. These databases could be hosted on premises, in a data warehouse, in the AWS cloud, or in another cloud entirely.

In this post we’ll look at how it works, which database technologies it supports and how much it costs. We’ll also touch on security and how to manage particularly large migrations. Let’s dive in. 

Data storage archive concept

How Does AWS Database Migration Service (DMS) Work?

Amazon DMS sets up and manages a database replication instance on AWS—effectively a replication server. All changes from the primary database are copied to the replica, keeping both databases in sync.

DMS handles conversion from one database platform to another, while actively monitoring the replication instance to ensure it is always available. The service is self healing and will automatically create a new replication instance in the event of a failure.

DMS can replicate from any supported source database engine to any supported target database engine (see below for supported sources and targets).

If switching database engines, AWS provides the AWS Schema Conversion tool to convert the existing database schema. This will convert tables, indexes and most application code to the target database engine. (There is a schema conversion tool client available for Windows, Mac and Linux desktop operating systems.)

Migrating a database is as easy as creating the target database, migrating the database schema, setting up the data replication process and initiating the migration. This process only takes a few minutes in the AWS console.

Once the two databases are fully synchronized, you can simply switch over to the replica database and use it in production.

What Database Technologies Are Supported?

AWS database migration service - DMS Databases

Amazon DMS supports a range of the most widely used source and target database engines.

Supported source engines include:

  • Oracle
  • Microsoft SQL Server
  • MySQL
  • MariaDB
  • PostgreSQL
  • Db2 LUW
  • SAP
  • MongoDB
  • Amazon Aurora

Supported target engines include:

  •  Oracle
  • Microsoft SQL Server
  • PostgreSQL
  • MySQL
  • Amazon Redshift
  • SAP ASE
  • Amazon S3
  • Amazon DynamoDB

Amazon DMS Pricing: What Does the Service Cost?

Amazon DMS offers an economical and cost-effective solution for transferring your databases and analytics workloads. Essentially, you pay for the compute resources that you consume with the replication instance during the migration.

Compute pricing differs by region and will depend on the instance type that you select for the DMS instance, as well as whether or not you select a single availability zone or multiple availability zone deployment. 

In London (eu-west-2), there are 13 instance options ranging from t2.micro at $0.021 per hour right up to r4.8xlarge at $8.64 per hour in a multi-AZ configuration. 

Data transfer into AWS (ingress) is always free of charge. However, if you are using DMS to migrate a database out of AWS, you will be charged for data transfer out (egress).

If you are migrating to the following AWS database services, you can use DMS free of charge for up to 6 months:

  • Amazon Aurora
  • Amazon Redshift
  • Amazon DynamoDB
  • Amazon DocumentDB (with MongoDB compatibility)

How Secure is AWS Database Migration Service?

Data migrated with Amazon DMS is encrypted both in transit and at rest. At rest data is encrypted using AWS Key Management Service (KMS) and in flight data is encrypted with SSL.

But, like all AWS services, the AWS Shared Responsibility model applies, and customers should ensure that they have set up appropriate Identity and Access Management (IAM) roles and policies to control access to DMS resources.

Customers are also responsible for managing the network security of the Virtual Private Cloud (VPC) that the DMS resources are deployed in.

What if Your Database Is Huge and You Are in a Hurry?

If you are running a multi-terabyte or -petabyte database and you want to be able to transfer it quicker than your wire speed will allow, then you are in luck as Amazon DMS can use AWS Snowball Edge.

Snowball Edge is a portable, AWS owned and supported appliance, that can be used to synchronize data locally and then be shipped to AWS, rather than replicating all of your data over the wire. (Additional charges will apply for use of the Snowball Edge device.)

So there you have it—a whistle-stop tour of AWS Database Migration Service.

If you’d like to learn more about the service or want to find out how we can help you migrate your database to AWS, feel free to get in touch with us and we’ll explain everything you need to know.