Blogs

Migrating Databases with AWS Database Migration Service (DMS)

Written by Yura Vasilevitski | Apr 23, 2023 7:22:35 AM

AWS Database Migration Service can migrate data to and from the most extensively used commercial and open-source databases. This powerful service can help you migrate your databases to AWS quickly and securely. In this article, we will discuss how to migrate databases using AWS Database Migration Service.

Meet the Prerequisites

Before starting a database migration using AWS Database Migration Service (DMS), you should ensure to meet the following prerequisites:

An AWS account

You must have an Amazon Web Services account to use AWS Database Migration Service. If you don't already have one, you can sign up for a free trial account at the AWS website.

Access to the AWS Management Console

If you're an account administrator, you already have this access. Access to the AWS Management Console can help you configure and manage the migration process. You need access to the AWS Management Console. If you don't have access, request access with permission from your account administrator.

Access to source and target databases 

Before migrating data using AWS DMS, ensure that both the source and target databases are accessible. Additionally, the source and target databases must be compatible with the DMS service. Check the AWS DMS documentation here https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) for a list of supported database engines. You should have the necessary credentials and permissions to access the databases. 

Set up AWS Database Migration Service (DMS)

When you open the AWS Management Console, navigate to the AWS Database Migration Service page.

Click the "Create replication instance" button.   Enter a name for the replication instance, choose the appropriate instance class, and select the VPC and subnet.

Select the security group for the replication instance, then click on the Create button to create the replication instance.

Create Database Migration Task  

A migration task defines the source and target databases, as well as other parameters for the migration. Once you have set up the replication instance, create a migration task. 

  1. Enter the AWS Management Console and navigate the AWS Database Migration Service page.
  2. Click on the Create migration task button
  3. Enter a name for the migration task
  4. Select the source and target database engines
  5. Enter the connection details for the source and target databases
  6. Choose the migration type (full load or ongoing replication)
  7. Set the migration settings, including table mappings, data type mappings, and transformation rules.
  8. Click on the Create button to create the migration task.

Start the Migration

Once you have created the migration task, you can start the migration. In the  AWS Management Console, navigate to the AWS Database Migration Service page. Click Start or Resume when choosing the migration task you want to start.

AWS Database Migration Service (DMS) supports different ways of migrating data from the source database to the target database, including:

Incremental Migration: Incremental migration is ideal for migrating data to the target database while the source database is still being used. Changes to the source database are captured and continuously replicated to the target database in near real-time.

Full Load Migration: A one-time full load is performed to copy the entire source database to the target database. After the initial load, any changes made to the source database are not replicated in the target database.

Combined Migration: This is a combination of incremental and full-load migration. A full load migration is performed to copy all existing data to the target database. Next, a gradual migration is done to replicate any changes made to the source database continuously.

AWS DMS captures changes to the source database using logs or trigger-based methods. These changes are executed on the target database in one transaction, ensuring data consistency and integrity.

Monitor the Migration 

You can monitor the progress of the migration. In the AWS Management Console and go to the AWS Database Migration Service page and choose the migration task that you want to monitor.

Under the Task Details tab, you can view the migration status. You can also monitor progress through CloudWatch Logs.

What Problems Does DMS AWS Database Migration Solve? 

AWS Database Migration Service (DMS) solves several challenges associated with database migration. 

Data Loss: AWS DMS ensures data accuracy and completeness by replicating changes from the source database to the target database. Inaccurate or incomplete data transfer can result in data loss during database migration.

Application Compatibility: AWS DMS allows replicating database changes while preserving the existing data model, reducing application compatibility issues. This saves you from changing the data model or schema, which can lead to application compatibility issues.

Database Downtime: Traditional database migration methods often require significant downtime, during which the database is not accessible to users. AWS DMS minimizes downtime by enabling you to migrate data to the target database while the source database is still running.

Cost: Traditional database migration methods can be expensive, requiring significant resources and expertise. AWS DMS provides a cost-effective way to migrate databases to the cloud, with pay-as-you-go pricing and no upfront costs.

Data Security: Data security is a critical concern during database migration. AWS DMS provides end-to-end encryption for transit data and can mask sensitive data during migration.

Conclusion

AWS Database Migration Service (DMS) is a powerful service that can help you migrate your databases to AWS quickly and securely. Follow the steps above to set up and run a migration using DMS quickly.