High-Level View of AWS DMS
AWS DMS connects to the source data store to perform the data migration between two endpoints. Then it reads the source data, formats the data, and gets it ready for consumption by the target datastore after it loads the data into the target datastore. Most of this processing happens in the memory.
At the high level, while using the AWS DMS, we create a replication server and create two endpoints, the source and the target, that have connection information about data stores. Then we generate one or more migration task that migrates the data between the source and target datastore.
These migration tasks can consist of three major phases:
- Ongoing replication
- A full load of existing data
- The applications of changed cache
Let us now discuss the components of AWS DMS.
See more, Amazon Hirepro
Components of AWS DMS
Here we will discuss some internal components of AWS DMS and how they function together to carry off data migration. An AWS Data Migration Service consists of three components:
- Replication instance
- Endpoints
- Replication task
Let's discuss the components one by one.
Replication Instance
An AWS DMS creates the replication instance on an Amazon Elastic Compute Cloud (Amazon EC2). A replication instance can host one or more tasks depending on the characteristics of migration and the capacity of the replication server. Some smaller instances classes are sufficient for smaller migrations, but if the migration is large means it consists of a large number of tables, we should consider using large instances because AWS DMS can consume a significant amount of CPU and memory. AWS DMS provides a variety of replication instances to choose the suitable configuration for our use case.
Endpoints
An AWS DMS uses endpoints to access data stores. The specific connection information can be different but generally, we supply the following information when we create an endpoint:
- Endpoint type – Source or target.
- Engine type – Type of database engines, such as Oracle, NO-SQL database or PostgreSQL.
- Server name – IP address that AWS DMS can reach.
- Port – Port number used for the database server connections.
- Encryption – Secure Socket Layer (SSL) mode, if SSL is used to encrypt the connection.
- Credentials – User name and password for an account with access rights.
Replication Tasks
AWS DMS replication task transfers a set of data from the source endpoint to the target endpoint. Creating a replication task is the last step before the migration starts.
The task migrates the data from the source endpoint to the target endpoint, and the processing is done on replication instances. We specify what tables and schemas to migrate with any special processing, like table mapping, logging requirements, and error handling.
Now we will discuss Source for AWS DMS.
Source for AWS DMS
Various data stores present as source endpoints for data migration using AWS DMS. Some are:
On-premises and EC2 instance database
- Oracle versions 10.2 and later
- Microsoft SQL Server
- MySQL versions 5.6, 5.7, 5.8, and 8.0
- MariaDB, MongoDB, PostgreSQL etc.
Amazon Simple Storage Service and Amazon RDS instance databases
- Oracle version 11g
- Microsoft SQL server
- MySQL versions 5.6, 5.7, 5.8, and 8.0
- PostgreSQL version 9.4 and later
- Amazon Aurora with MySQL and PostgreSQL compatibility
- Amazon S3
Third-party managed database service
- Google cloud for MySQL
- Microsft Azure SQL Database
Let's discuss Targets for AWS DMS.
Targets for AWS DMS
Using AWS DMS, we can use the following data stores as target endpoints for data migration.
On-premises and EC2 instance database
- Oracle for Enterprise, Standard, Standard One, Standard Two Editions.
- Microsoft SQL server
- MySQL versions 5.6, 5.7, 5.8, and 8.0
- Redis versions 6. x.
- PostgreSQL version 9.4 and later
Amazon RDS instance databases, Amazon S3, Amazon OpenSearch Service, Amazon Neptune, Amazon ElastiCache for Redis, Amazon Redshift, Amazon Kinesis Data Streams, Amazon DocumentDB, Amazon DynamoDB
- Oracle for Enterprise, Standard, Standard One, Standard Two Editions.
- MySQL versions 5.6, 5.7, 5.8, and 8.0
- Microsoft SQL server
- Amazon Aurora MySQL-Compatible Edition
- Amazon OpenSearch Service
- Amazon Aurora PostgreSQL-Compatible Edition
- Amazon Aurora Serverless
- Amazon Redshift
- Amazon DynamoDB
- Amazon ElastiCache for Redis
- Amazon Kinesis Data Streams
- Amazon DocumentDB (with MongoDB compatibility)
- Amazon S3
- Amazon Neptune
Let us discuss the Security of AWS Data Migration Service.
Security in AWS Data Migration Service
Security is always the highest priority in AWS. It is the combined responsibility of the user and AWS itself. This combined responsibility describes it as security of the Cloud and security in the Cloud.
Security of the Cloud
AWS is responsible for the protection of the infrastructure that runs the services in AWS Cloud. It provides services that are purely secure to use. Also, third-party auditors keep verifying and testing the effectiveness of security of the Cloud at regular intervals.
Security in the Cloud
Security in the Cloud is our responsibility and is determined by the AWS service we are using. Also, we are responsible for some other factors, including the sensitivity of our data, the requirements of organizations, and applicable laws and regulations.
Let us discuss some Frequently Asked Questions related to the topic.
Frequently Asked Questions
What does AWS DMS stand for?
AWS DMS stands for AWS Data Migration Service.
What is AWS DMS?
AWS data migration service (AWS DMS) helps us migrate databases to AWS securely. It supports a homogeneous migration, like Oracle to Oracle, and heterogeneous migration between different databases.
What are endpoints?
Endpoints are the datastore from and to where data is transferred.
What are the components of AWS Data Migration Service?
Components of AWS DMS are Replication instances, Endpoints, and Replication tasks.
List some third-party database services.
Microsoft Azure SQL database and Google Cloud for MySQL are some third-party database services.
Conclusion
In this article, we have extensively discussed AWS Data Migration Service. We learned AWS data migration service and how it works and also some faqs related to this topic.
After reading about AWS Data Migration Service, are you not feeling excited to read/explore more articles on AWS? Don't worry; Coding Ninjas has you covered. To learn, see Introduction to AWS, AWS Features, Managing Devices with AWS IoT, AWS Amplify, and AWS Cost & Usage Report.
Refer to our Guided Path on Coding Ninjas Studio to upskill yourself in Data Structures and Algorithms, Competitive Programming, JavaScript, System Design, and many more! If you want to test your competency in coding, you may check out the mock test series and participate in the contests hosted on Coding Ninjas Studio! But if you have just started your learning process and are looking for questions asked by tech giants like Amazon, Microsoft, Uber, etc; you must look at the problems, interview experiences, and interview bundle for placement preparations.
Nevertheless, you may consider our paid courses to give your career an edge over others!
Do upvote our blogs if you find them helpful and engaging!
Happy Learning!
