"一、背景 小编朋友的需要把老账户的云资源迁移到新账户下,朋友的老账户下除了有云服务器之外,还有 RDS(MySQL 数据库,OSS 资源等)。今天小编主要讲如何使用阿里云的数据传输服务 DTS 实现跨账户之间数据库迁移的操作。 二、操作步骤 阿里云数据传输 DTS 支持两个阿里云账号下的实例进行数据迁移同步。为了实现这 .."

使用阿里云数据传输 DTS 实现跨账户数据库迁移

本贴最后更新于 180 天前,其中的信息可能已经天翻地覆

一、背景

小编朋友的需要把老账户的云资源迁移到新账户下,朋友的老账户下除了有云服务器之外,还有 RDS(MySQL 数据库,OSS 资源等)。今天小编主要讲如何使用阿里云的数据传输服务 DTS 实现跨账户之间数据库迁移的操作。

二、操作步骤

阿里云数据传输 DTS 支持两个阿里云账号下的实例进行数据迁移同步。为了实现这个功能,源实例所属阿里云账号需要将相关授权给目标实例所属阿里云账号,然后使用目标实例所属阿里云账号登录 DTS 控制台进行任务配置。下面是具体过程:

2.1. 源实例所属账号 A 授权 DTS 访问它的云资源

首先,源实例所属账号 A 需要授权 DTS 访问它的云资源。具体的授权流程如下:

使用账号 A 登陆阿里云官网,然后进入DTS 控制台。如果账号 A 未授权过 DTS 访问它的云资源,那么会弹出如下的授权入口。

点击前往RAM 角色授权,进入授权界面。

在授权界面中,点击同意授权完成将访问云资源的权限授权给 DTS 服务的操作。

如果登陆到 DTS 控制台时,未出现上面的授权请求界面,说明 A 账号已经进行过授权操作。

2.2 源实例所属账号 A 授权目标实例所属账号 B 在 DTS 服务中访问 A 的云资源

当账号 A 将云资源访问权限授权给 DTS 服务后,还需要授权 B 账号在 DTS 服务中访问 A 的云资源。这个授权操作,是通过 RAM 的用户角色实现的。在配置迁移任务时,源实例需要配置账号 A 的账号 ID 以及授权角色名,配置内容如下图所示。

上图中,RDS 所属阿里云账号为源 RDS 所属阿里云账号的账号 ID,可以到账号管理的 安全设置 界面获取

角色名称为账号 A 授权账号 B 在 DTS 服务中访问其账号的云资源的角色名称。下面会介绍授权角色的创建流程

2.3 跨账号角色授权

本小节介绍如何使用 RAM 进行跨阿里云账号授权,授权另外一个阿里云账号在 DTS 中访问自己的云资源。下面就以需要将账号 A 下面的 RDS 实例迁移到账号 B 下的云资源为例,介绍角色授权过程。

2.3.1 角色创建

1). 使用账号 A 登录 RAM 管理控制台,进入角色管理界面, 点击页面右上角的 新建角色,开始创建跨账号授权角色。2). 第一步的角色类型,选择用户角色 3). 受信云账号,选择 其他云账号,同时,受信云账号 ID 配置目标实例所属阿里云账号即账号 B 的账号 ID4) 第四步,配置角色名称,这个名称就是 DTS 同步作业配置过程中,需要填写的角色名称。

2.3.2 角色授权

角色创建完成后,需要修改角色授权策略,包括:1) 受信云账号, 限制受信云账号 只能在 DTS 控制台访问自己的云资源。 具体修改步骤如下:

"Service": [  
          "受信阿里云账号 ID@dts.aliyuncs.com"  
        ]

受信云账号的账号 ID, 即最后配置 DTS 同步作业的阿里云账号 ID。dts.aliyuncs.com 为 DTS 服务代号。假设配置 DTS 同步作业的阿里云账号 ID 为:1218522260143989,那么 service 定义为:

"Service": [  
          "121852226014398@dts.aliyuncs.com"  
        ]

所以,完整的角色定义如下:

{  
  "Statement": [  
    {  
      "Action": "sts:AssumeRole",  
      "Effect": "Allow",  
      "Principal": {  
        "RAM": [  
          "acs🐏:1218522260143989:root"  
        ],  
        "Service": [  
          "1218522260143989@dts.aliyuncs.com"  
        ]  
      }  
    }  
  ],  
  "Version": "1"  
}
  1. 角色授权,授权角色能够源实例所属云账号下的资源当受信云账号 B 配置完成后,需要修改角色的授权策略,将源账号 A 下的部分云资源的访问权限授权给角色,这样 DTS 可以扮演这个角色访问 A 账号下的云实例。修改步骤如下:

注意: 策略名称一定要手动输入 ,要不然不行。

至此,完成跨账号授权角色的创建及授权。

完成权限授权后,即可以开始配置跨账号迁移同步任务。配置迁移同步任务时,源实例信息中的角色名称即为上面创建的角色名称。

参考文献

阿里云数据传输服务 DTS 官方文档

更多内容请关注公众号

  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    65 引用 • 346 回帖
  • DTS
    1 引用
  • 数据迁移
    4 引用 • 13 回帖
感谢    关注    收藏    赞同    反对    举报    分享
回帖    
请输入回帖内容...