AWS Database Migration Service helps you migrate databases to AWS quickly and securely. The source database remains fully operational during the migration, minimizing downtime to applications that rely on the database. The AWS Database Migration Service can migrate your data to and from most widely used commercial and open-source databases.
The service supports migrations of data from multiple sources via a few different replication methods. Oracle to Oracle, Oracle, or Microsoft SQL Server to Amazon Aurora and Redshift. The product also supports MySQL data replication as well as Postgres, and others.
In addition to replication data from a database, AWS DMS allows you to continuously replicate your data with high availability and consolidate databases to cloud warehouses like Amazon RDS, Amazon Redshift, or object storage Amazon S3. The S3 destination becomes a perform landing zone for a data lake.
Benefits of AWS Database Migration Service:
1. Simple to use
2. Minimum downtime
3. Supports widely used databases
4. Low cost
5. Fast and easy to set up
1. Simple to use:
AWS Database Migration Service is simple to use. There is no need to install any drivers or applications, and it does not require changes to the source database in most cases. You can begin a database migration with just a few clicks in the AWS Management Console. Once the migration has started, DMS manages all the complexities of the migration process including automatically replicating data changes that occur in the source database during the migration process. You can also use this service for continuous data replication with the same simplicity.
2. Minimal downtime:
AWS Database Migration Service helps you migrate your databases to AWS with virtually no downtime. All data changes to the source database that occur during the migration are continuously replicated to the target, allowing the source database to be fully operational during the migration process. After the database migration is complete, the target database will remain synchronized with the source for as long as you choose, allowing you to switchover the database at a convenient time.
3. Supports widely used databases:
AWS Database Migration Service can migrate your data to and from most of the widely used commercial and open source databases. It supports homogeneous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle to Amazon Aurora. Migrations can be from on-premises databases to Amazon RDS or Amazon EC2, databases running on EC2 to RDS, or vice versa, as well as from one RDS database to another RDS database. It can also move data between SQL, NoSQL, and text based targets.
4. Low cost:
AWS Database Migration Service is a low cost service. You only pay for the compute resources used during the migration process and any additional log storage. Migrating a terabyte-size database can be done for as little as $3. This applies to both homogeneous and heterogeneous migrations of any supported databases. This is in stark contrast to conventional database migration methods which can be very expensive.
5. Fast and easy to set-up
You can set up a migration task within minutes in the AWS Management Console. A migration task is where you define the parameters the AWS Database Migration Service uses to execute the migration. This includes setting up connections to the source and target databases, as well as choosing the replication instance used to run the migration process. Once setup, the same task can be used for test runs before performing the actual migration.
The AWS Database Migration Service is highly resilient and self–healing. It continually monitors source and target databases, network connectivity, and the replication instance. In case of interruption, it automatically restarts the process and continues the migration from where it was halted. Multi-AZ option allows you to have high-availability for database migration and continous data replication by enabling redundant replication instances.
How Does AWS Database Migration Service Work?
AWS Database Migration Service (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, and actively monitors 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 2 databases are fully synchronised, you can simply switch over to the replica database and use it in production.
How Secure Is AWS Database Migration Service?
Data migrated with AWS 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.
How are AWS Database Migration Service (DMS) and AWS Schema Conversion Tool (SCT) related?
DMS and SCT work in conjunction to both migrate databases and support ongoing replication for a variety of uses such as populating datamarts, synchronizing systems, etc. SCT can copy database schemas for homogeneous migrations and convert them for heterogeneous migrations. The schemas can be between databases e.g.) Oracle to PostgreSQL or between data warehouses e.g.) Netezza to Amazon Redshift.
Once a schema has been created on an empty target, depending on the volume of data and/or supported engines, either DMS or SCT are then used to move the data. DMS traditionally moves smaller relational workloads (<10 TB) and MongoDB, whereas SCT is primarily used to migrate large data warehouse workloads. DMS supports ongoing replication to keep the target in sync with the source; SCT does not.
Homogeneous Database Migrations:
In homogeneous database migrations, the source and target database engines are the same or are compatible like Oracle to Amazon RDS for Oracle, MySQL to Amazon Aurora, MySQL to Amazon RDS for MySQL, or Microsoft SQL Server to Amazon RDS for SQL Server. Since the schema structure, data types, and database code are compatible between the source and target databases, this kind of migration is a one step process. You create a migration task with connections to the source and target databases, then start the migration with the click of a button. AWS Database Migration Service takes care of the rest. The source database can be located in your own premises outside of AWS, running on an Amazon EC2 instance, or it can be an Amazon RDS database. The target can be a database in Amazon EC2 or Amazon RDS.
Heterogenous Database Migrations
In heterogeneous database migrations the source and target databases engines are different, like in the case of Oracle to Amazon Aurora, Oracle to PostgreSQL, or Microsoft SQL Server to MySQL migrations. In this case, the schema structure, data types, and database code of source and target databases can be quite different, requiring a schema and code transformation before the data migration starts. That makes heterogeneous migrations a two step process. First use the AWS Schema Conversion Tool to convert the source schema and code to match that of the target database, and then use the AWS Database Migration Service to migrate data from the source database to the target database. All the required data type conversions will automatically be done by the AWS Database Migration Service during the migration. The source database can be located in your own premises outside of AWS, running on an Amazon EC2 instance, or it can be an Amazon RDS database. The target can be a database in Amazon EC2 or Amazon RDS.