迁移需求
本次迁移是同构迁移,把阿里云ECS服务器的mysql数据库迁移到AWS的RDS-mysql
AWS DMS 中的同构数据迁移过程概述
-
使用 AWS DMS 中的同类数据迁移在两个相同类型的数据库之间迁移数据。使用以下工作流创建并运行数据迁移。
-
创建所需的 AWS Identity and Access Management (IAM) 策略和角色。
-
配置源数据库和目标数据库并创建具有 AWS DMS 中同构数据迁移所需的最低权限的数据库用户。
-
将源数据库和目标数据库凭证存储在 AWS Secrets Manager 中。
-
在 AWS DMS 控制台中创建子网组、实例配置文件和数据提供程序。有关更多信息,请参阅创建子网组、 创建实例配置文件和 创建数据提供程序。
-
使用在上一步中创建的资源创建迁移项目。
-
创建、配置并开始数据迁移。
-
完成完全加载或正在进行的复制后,可以切换以开始使用新的目标数据库。
-
清理你的资源。Amazon 将在完成迁移后三天内终止你的迁移项目中的数据迁移。但是,您需要手动删除实例配置文件、数据提供程序、IAM 策略和角色以及 AWS Secrets Manager 中的密钥等资源。
开始实验
创建 IAM 资源
在 AWS DMS 中创建同构数据迁移的 IAM 策略
登录 AWS 管理控制台并打开 IAM 控制台:https://console.aws.amazon.com/iam/。
- 在导航窗格中,选择策略。
- 选择创建策略。
- 在创建策略页面中,选择JSON 选项卡。
- 将以下 JSON 粘贴到编辑器中。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeRouteTables",
"ec2:DescribeSecurityGroups",
"ec2:DescribeVpcPeeringConnections",
"ec2:DescribeVpcs",
"ec2:DescribePrefixLists",
"logs:DescribeLogGroups"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"servicequotas:GetServiceQuota"
],
"Resource": "arn:aws:servicequotas:*:*:vpc/L-0EA8095F"
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:DescribeLogStreams"
],
"Resource": "arn:aws:logs:*:*:log-group:dms-data-migration-*"
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:log-group:dms-data-migration-*:log-stream:dms-data-migration-*"
},
{
"Effect": "Allow",
"Action": "cloudwatch:PutMetricData",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateRoute",
"ec2:DeleteRoute"
],
"Resource": "arn:aws:ec2:*:*:route-table/*"
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateTags"
],
"Resource": [
"arn:aws:ec2:*:*:security-group/*",
"arn:aws:ec2:*:*:security-group-rule/*",
"arn:aws:ec2:*:*:route-table/*",
"arn:aws:ec2:*:*:vpc-peering-connection/*",
"arn:aws:ec2:*:*:vpc/*"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress"
],
"Resource": "arn:aws:ec2:*:*:security-group-rule/*"
},
{
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:RevokeSecurityGroupEgress",
"ec2:RevokeSecurityGroupIngress"
],
"Resource": "arn:aws:ec2:*:*:security-group/*"
},
{
"Effect": "Allow",
"Action": [
"ec2:AcceptVpcPeeringConnection",
"ec2:ModifyVpcPeeringConnectionOptions"
],
"Resource": "arn:aws:ec2:*:*:vpc-peering-connection/*"
},
{
"Effect": "Allow",
"Action": "ec2:AcceptVpcPeeringConnection",
"Resource": "arn:aws:ec2:*:*:vpc/*"
}
]
}
选择下一步:标签和下一步:审阅。
输入HomogeneousDataMigrationsPolicy名称*,然后选择创建策略。
在 AWS DMS 中创建用于同构数据迁移的 IAM 角色
在 AWS DMS 中创建用于同构数据迁移的 IAM 角色
登录 AWS 管理控制台并打开 IAM 控制台:https://console.aws.amazon.com/iam/。
在导航窗格中,选择角色。
选择创建角色。
在选择受信任实体页面上,对于受信任实体类型,选择AWS Service。对于其他 AWS 服务的用例,请选择DMS。
选中DMS复选框并选择下一步。
在添加权限页面上,选择 您之前创建的HomogeneousDataMigrationsPolicy 。另外,选择SecretsManagerReadWrite。选择 下一步。
在“名称、审核和创建”页面上,输入 HomogeneousDataMigrationsRole“角色名称”,然后选择“创建角色”。
在“角色”页面上,输入HomogeneousDataMigrationsRole “角色名称”。选择HomogeneousDataMigrationsRole。
在HomogeneousDataMigrationsRole页面上,选择信任关系 选项卡。选择编辑信任策略。
在编辑信任策略页面上,将以下 JSON 粘贴到编辑器中,替换现有文本。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": [
"dms-data-migrations.amazonaws.com",
"dms.your_region.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
在前面的示例中,替换your_region为你的 AWS 区域的名称。
上述基于资源的策略为 AWS DMS 服务委托人提供根据 AWS 托管的SecretsManagerReadWrite和客户管理的 HomogeneousDataMigrationsPolicy策略执行任务的权限。
选择更新策略。
创建迁移项目
在控制台数据DMS,点击左边迁移项目,然后填入你要迁移源和目的数据库
选择你的迁移项目
创建完以后,点击进入你的迁移项目,点击数据迁移
创建数据迁移
注意角色这里要选择你第一步创建的IAM角色哦
总结
在迁移之前首先你要创建一个RDS数据库,作为你的模板数据库,然后创建迁移项目,最后等待迁移就行了
谢谢关注~
共同学习,共同进步