跨阿里云账号实现数据传输
数据传输服务DTS(Data Transmission Service)支持配置跨阿里云账号的任务,适用于阿里云账号间的资源迁移或合并、业务架构调整等多种应用场景。
背景信息
现有两个阿里云数据库或者通过专线、VPN网关或智能网关接入自建数据库(例如RDS MySQL)分别属于不同的阿里云账号,由于业务需求,需要将阿里云账号A下数据库的业务数据迁移至阿里云账号B下的数据库。
支持的源实例
阿里云数据库:RDS MySQL、RDS MariaDB、RDS PostgreSQL、PolarDB-X 1.0、PolarDB PostgreSQL版(兼容Oracle)、PolarDB MySQL版、云数据库Redis、云数据库MongoDB版。
自建数据库:通过专线、VPN网关、智能网关或ECS接入的自建MySQL、PostgreSQL、Redis、MongoDB、Oracle、SQL Server、Db2 for LUW数据库。
支持的目标实例
当前目标端仅支持跨阿里云账号访问RDS MySQL实例。
前提条件
已创建任务所需的源和目标库实例。
源和目标实例所属的阿里云账号已经授权DTS的RAM角色访问其云资源,详情请参见授予DTS访问云资源的权限。
已获取源库实例、目标库实例和创建DTS任务的阿里云账号(主账号)ID。您可以使用创建DTS任务的阿里云账号(主账号)登录账号管理页面,在基本信息页签的账号ID获取。
注意事项
仅RDS MySQL实例间支持跨账号的双向同步任务。
暂不支持不同属性账号之间(如金融云和政务云账号之间)的同步任务。
操作步骤
本操作以同步任务为例,介绍DTS跨阿里云账号任务的配置步骤。
为数据库实例创建RAM角色。
说明若使用RAM用户(子账号)进行操作,则可能会在创建DTS任务时提示授权不正确。
无需跨阿里云账号的数据库实例不需要创建RAM角色。
使用数据库实例所属的阿里云账号(主账号),登录RAM控制台。
在左侧导航栏,选择 。
重要请勿选择为
,否则DTS将无法访问数据库实例并报错。在角色页面,单击创建角色。
在创建角色面板,选择可信实体类型为阿里云账号,然后单击下一步。
在弹出的对话框中,配置RAM角色信息。
配置选项
配置说明
角色名称
填写RAM角色名称,本示例填写ram-for-dts。
说明可以填写大写英文、小写英文、数字或短横线(-),长度不超过64个字符。
备注(可选)
填写RAM角色备注信息。
选择信任的云账号
选择为其他云账号,并填写创建DTS任务的阿里云账号(主账号)ID作为授信云账号。
重要若您的任务只需源库实例跨阿里云账号,则创建DTS任务的阿里云账号即为目标库实例所属的阿里云账号。
若您的任务只需目标库实例跨阿里云账号,则创建DTS任务的阿里云账号即为源库实例所属的阿里云账号。
若您的任务源和目标库实例均需跨阿里云账号,则您可以指定创建DTS任务的阿里云账号,且源和目标库实例指定的阿里云账号需相同。
单击完成。
为创建好的RAM角色精确授权。
单击精确授权。
在添加权限对话框中,勾选选择权限类型为系统策略。
在输入策略名称下方的文本框中,输入AliyunDTSRolePolicy。
单击确定。
精确授权成功后,单击关闭。
修改信任策略。
在角色页面,找到刚刚创建的RAM角色,单击对应的RAM角色名称。
在RAM角色的基本信息页面,单击信任策略管理页签。
在信任策略管理页签中,单击修改信任策略。
将下述代码复制至策略框中。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::阿里云账号ID:root" ], "Service": [ "阿里云账号ID@dts.aliyuncs.com" ] } } ], "Version": "1" }
将代码中两个
阿里云账号ID
替换为创建DTS任务的阿里云账号(主账号)ID。单击确定。
创建同步任务。
使用信任策略中配置的阿里云账号ID,登录DMS数据管理服务。
在左侧导航栏,选择 。
说明若您登录的是极简模式的DMS,请在左上角的
中选择 。更多信息请参见自定义DMS界面布局与样式。
单击创建任务,配置源库及目标库信息。
根据实际业务需求选择数据库类型、接入方式和实例地区。
配置数据库实例所属的阿里云账号信息。
根据源和目标实例类型,参考具体配置文档,创建跨阿里云账号任务。具体配置文档,请参见同步方案概览、迁移方案概览、订阅方案概览。
常见问题
以下为配置源库信息时,出现的常见告警信息及对应解决办法:
告警信息 | 解决办法 |
![]() | 您填写的跨阿里云账号有误,请检查数据库实例所属阿里云账号(主账号)的UID是否填写正确。更多信息,请参见准备工作。 |
![]() | 可能原因如下:
说明 更多信息,请参见准备工作。 |
![]() | 可能原因如下:
说明 请参考准备工作进行检查。 |
![]() | 您填写的跨阿里云账号角色名没有精确授权,请为填写的RAM角色精确授权后重新创建任务。以源数据库为例,授权操作请参见为已有RAM角色精确授权。 |