A Comprehensive Guide to AWS Database Migration Service

A Comprehensive Guide to AWS Database Migration Service

AWS Database Migration Service – AWS DMS – makes it easy to quickly and securely migrate databases to Amazon Web Service. During the transfer, the source database is still fully functional and organizations do not have to resort to system outages. The advantage of AWS DMS is that you can migrate databases from more common and open source databases. Plus, you can continuously replicate high-availability data and consolidate multiple databases into one petabyte by streaming data to Amazon S3 and Amazon Redshift. AWS DMS is free for the first six months when databases are migrated to Amazon Redshift, Amazon Aurora, and Amazon DynamoDB.

  • Types of database migration with AWS DMS
  • AWS DMS has two types of database migration:

Smooth database transfer:

In this type of database migration, both the source and target database engines are compatible. This migration is a simple one-step process because the data types, schema structures, and data codes of the source and target databases match.

Once the connection between the source and target databases has been established, the migration can be started at the click of a button, with AWS DMS managing the entire process. The source database can be an Amazon RDS database, or it can reside outside of AWS and run on an Amazon EC2 instance. The target database can be on Amazon RDS or Amazon EC2.

Heterogeneous Database Migration:

In this migration scenario, the source and target database engines are different. Examples are migrations from Microsoft SQL Server to MySQL, Oracle to Amazon Aurora or Oracle PostgreSQL. Schema structures, data codes, and data types are very different, so you need to perform schema and code conversion before starting the data transfer.

Unlike homogeneous migration, heterogeneous migration to AWS DMS is a two-step process. First, you must use the AWS Schema Conversion Tool (AWS SCT) to convert the data code and schema from the source database to that of the target database. Once completed, AWS DMS is used to transfer data from source to destination. AWS DMS handles data type conversions automatically during migration. For migration, the source database can be an Amazon RDS database located outside of AWS or running on an Amazon EC2 instance. The target database can be on Amazon EC2 or Amazon RDS.

Development and testing:

AWS Database Migration Service is an optimized channel for moving data to and from the cloud for development purposes. There are two possibilities and scenarios here. The first is deploying, testing, or ramping up systems on AWS. This is to take advantage of all cloud features, such as scalability and fast provisioning. It allows developers and testers to access copies of actual production data and then, in a reverse process, copy updates to the local production system.

Second, when development systems are based on the premise, even on personal devices such as laptops, an updated copy of the AWS Cloud production database can be pushed to those on-premise systems. This can be a one-time or ongoing process. It ensures that existing DevOps processes are not interrupted and an up-to-date view of the production system is maintained.

Connect databases:

The AWS Database Migration Service allows multiple source databases to be merged into a single target database. This feature can be used on all supported database machines and for smooth and heterogeneous migration. The source databases can be an Amazon RDS database, an Amazon EC2 instance, or an on-premises database.

An example will explain this better. While one target database can be on Amazon EC2 or Amazon RDS, one source database can be on Amazon EC2, another on-premises, and the third on Amazon RDS.

Continuous data replication:

A continuous data replication process can be performed from AWS DMS. It has different usage scenarios, such as synchronization of Disaster Recovery instances, synchronization of development and test scenarios, and geographic distribution of the database.