数据传输DTS支持两个阿里云账号下的实例进行数据迁移同步。为了实现这个功能,源实例所属阿里云账号需要将相关授权给目标实例所属阿里云账号,然后使用目标实例所属阿里云账号登录DTS控制台进行任务配置。本小节介绍,如何通过RAM进行跨账号授权,以实现不同阿里云账号下的实例间的数据迁移同步。
DTS支持的跨账号迁移同步功能
DTS能够支持的跨账号迁移同步功能包括:
数据迁移RDS实例->RDS实例- RDS实例->DRDS实例
- RDS实例->PetaData实例
- RDS实例->OceanBase实例
- RDS实例->ECS自建数据库
- RDS实例->有公网IP的自建数据库
数据同步
- RDS实例->RDS实例
- RDS实例->MaxCompute(原ODPS)实例
- RDS实例->Datahub(流计算使用)实例
跨账号传输配置信息
进行跨账号数据迁移同步时,源RDS实例所属阿里云账号需要通过RAM的跨主账号授权,授权目标实例所属阿里云账号可以在DTS中访问自己的相关云资源。使用DTS配置跨账号数据迁移同步时,源实例除了实例的连接信息,还需要配置授权相关信息,具体如下:
上图中,[backcolor=transparent] RDS所属阿里云账号 为源RDS所属阿里云账号的账号ID,可以到账号管理的
安全设置 界面获取
[backcolor=transparent]角色名称 为源RDS所属阿里云账号给目标实例所属阿里云账号进行授权角色的角色名称。下面会介绍如何创建这个授权角色。
跨账号角色授权
本小节介绍如何使用RAM进行跨阿里云账号授权,授权另外一个阿里云账号在DTS中访问自己的云资源。下面就以需要将账号A下面的RDS实例迁移到账号B下的云资源为例,介绍角色授权过程。
角色创建
- 使用账号A登录RAM管理控制台,进入角色管理界面,点击页面右上角的 [backcolor=transparent]新建角色,开始创建跨账号授权角色。
- 第一步的角色类型,选择用户角色
- 受信云账号,选择 [backcolor=transparent]其他云账号,同时,[backcolor=transparent]受信云账号ID 配置目标实例所属阿里云账号即账号B的账号ID
(4) 第四步,配置角色名称,这个名称就是DTS同步作业配置过程中,需要填写的角色名称。
角色授权
角色创建完成后,需要修改角色授权策略,包括:(1) [backcolor=transparent]受信云账号,限制受信云账号 只能在DTS 控制台访问自己的云资源。 具体修改步骤如下:1) 在角色管理界面,点击 刚创建角色 后面的 [backcolor=transparent]管理 按钮,进入角色管理界面。
2) 在角色管理界面,点击右上角的 编辑基本信息,进入角色编辑框,在编辑框中,修改Principal,添加service定义:
"Service": [
"受信阿里云账号ID@dts.aliyuncs.com"
]
受信云账号的账号ID,即最后配置DTS同步作业的阿里云账号ID。dts.aliyuncs.com 为DTS服务代号。假设配置DTS同步作业的阿里云账号ID为:121852226014398,那么service定义为:
"Service": [
"121852226014398@dts.aliyuncs.com"
]
所以,完整的角色定义如下:
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"RAM": [
"acs:ram::1218522260143989:root"
],
"Service": [
"1218522260143989@dts.aliyuncs.com"
]
}
}
],
"Version": "1"
}
[backcolor=transparent](2)角色授权,授权角色能够源实例所属云账号下的资源
当受信云账号B配置完成后,需要修改角色的授权策略,将源账号A下的部分云资源的访问权限授权给角色,这样DTS可以扮演这个角色访问A账号下的云实例。修改步骤如下:
1) 在角色管理界面,点击 刚创建角色 后面的 [backcolor=transparent]授权 按钮,进入角色授权界面。
2) 在精确策略搜索框中,搜索AliyunDTSRolePolicy,将这个系统策略授权给角色。
至此,完成跨账号授权角色的创建及授权。 后面配置跨账号迁移同步任务时,源实例信息中的,角色名称 即为上面创建的角色的名称。