全部产品
阿里云办公

使用 DTS 实现跨阿里云账号的 RDS 实例迁移

更新时间:2017-11-27 20:46:13

适用场景

本文适用于使用 数据传输 DTS(以下简称 DTS)实现跨阿里云账号的两个 RDS 实例间的数据迁移。

支持场景

  • 公共云两个账号下的 RDS 实例间的迁移。

  • 聚石塔和公共云 RDS 实例间的数据迁移。

  • 公共云和金融云 RDS 实例间的数据迁移。

环境准备

在正式迁移之前,需要先在源实例及目标实例中创建迁移账号,不同的数据库类型,要求的迁移账号权限不同,具体权限要求可以参考产品手册-数据迁移中的相关文档 RDS 实例间的数据迁移

下面以不同账号下的 RDS for MySQL 实例之间的数据迁移为例,说明如何使用 DTS 实现两个阿里云账号下的 RDS 实例间的数据迁移。其他数据库类型的迁移流程可以参考本示例配置。

操作步骤

  1. 以数据迁移的目标 RDS 实例所属阿里云账号登录 数据传输 DTS 控制台,单击右上角的 创建迁移任务,开始任务配置。

  2. 设置实例连接信息,如下图所示:

    在这个步骤中,主要配置迁移任务名称,迁移源实例及目标实例连接信息。其中:

    • 任务名称

      默认情况下,DTS 为每个任务自动生成一个任务名称。任务名称没有唯一性要求,您可以修改这个名称,为任务配置一个具有业务意义的名称,便于后续的任务识别。

    • 源实例连接信息

      • 实例类型:选择 RDS 实例
      • RDS 实例 ID:因为本示例中,用户使用目标实例对应的阿里云账号登录 数据传输 DTS 控制台,所以源实例所属账号和登陆使用的账号不同,故这里点击 其他阿里云账号下的 RDS 实例,控制台将展开配置源 RDS 实例信息的部分
      • RDS 所属阿里云账号 ID:填写源 RDS 实例所属的阿里云账号,可以在登录后,到账号管理的 安全设置 页面获取。获取账号 ID
      • 角色名称:为了提升安全性,配置跨账号 RDS 迁移任务的用户,需要得到源 RDS 实例所属云账号的授权后,才能配置源 RDS 实例。这里面配置的 角色名称,即为 RAM 跨账号授权的角色名称。跨账号授权的流程如下:
        (1) 进入 RAM 控制台 的角色管理界面,点击页面右上角的 新建角色,开始创建跨账号授权角色。
        (2) 第一步的 选择角色类型,选择用户角色
        (3) 第二步的 填写类型信息,选择受信云账号,选择 其他云账号,同时,受信云账号 ID 配置最终配置 DTS 迁移作业的阿里云账号的账号 ID
        受信云账号(4) 第三步,配置角色基本信息,需要配置角色名称,这个名称就是 DTS 迁移作业配置过程中,需要填写的角色名称。
        角色创建完成后,需要修改角色授权策略,授权 受信云账号 在 DTS 控制台中访问自己的云资源。具体修改步骤如下:
        (1) 在角色管理界面,点击 刚创建角色 后面的 管理 按钮,进入角色管理界面。角色管理入口(2) 在角色管理界面,点击右上角的 编辑基本信息,进入角色编辑框,在编辑框中,修改 Principal,添加 service 定义:
        1. "Service": [
        2. "受信阿里云账号ID@dts.aliyuncs.com"
        3. ]
        受信云账号的账号 ID,即最后配置 DTS 迁移作业的阿里云账号 ID。dts.aliyuncs.com 为 DTS 服务代号。假设配置 DTS 迁移作业的阿里云账号 ID 为:121852226014398,那么对应的 service 定义为:
        1. "Service": [
        2. "121852226014398@dts.aliyuncs.com"
        3. ]
        所以,完整的角色定义如下:
        1. {
        2. "Statement": [
        3. {
        4. "Action": "sts:AssumeRole",
        5. "Effect": "Allow",
        6. "Principal": {
        7. "RAM": [
        8. "acs:ram::1218522260143989:root"
        9. ],
        10. "Service": [
        11. "1218522260143989@dts.aliyuncs.com"
        12. ]
        13. }
        14. }
        15. ],
        16. "Version": "1"
        17. }
        当配置完角色受信身份后,需要将配置 DTS 迁移任务需要的相关权限授权给角色后,DTS 才能扮演这个角色完成任务配置及运行。进入 RAM 角色管理界面,点击刚才刚创建的角色后面的 授权 按钮,进行对 DTS 的系统策略授权。
        进入角色授权界面后,进入 精确授权 界面,在搜索框中搜索 AliyunDTSRolePolicy ,将这个系统策略授权给角色。
        精确搜索当配置完成后,DTS控制台中填写的角色名称,即为刚才创建的跨账号角色名称。
      • 实例地区:选择需要配置的源实例所在的地区
      • RDS 实例 ID:当配置完阿里云账号和角色名称后,即可以选择要迁移的源 RDS 实例的实例 ID
      • 数据库账号:源 RDS 实例的访问账号
      • 数据库密码:上面指定的源 RDS 实例访问账号对应的密码
    • 目标实例连接信息

      • 实例类型:选择 RDS 实例
      • RDS实例ID:配置 RDS 实例的实例ID
      • 数据库账号:RDS 实例访问账号
      • 数据库密码:上面指定的 RDS 实例访问账号对应的密码

      实例连接信息

  3. 设置迁移类型及迁移对象,如下图所示:

    迁移对象选择

  4. 配置完成后单击预检查并启动,如下图所示。在迁移任务正式启动之前,会先进行前置预检查:

    • 预检查成功:成功启动迁移。
    • 预检查失败:可以单击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。

      跨库迁移_预检查

      当预检查通过后,可以启动迁移任务。

      当迁移状态为已完成时表示本次迁移成功完成。

      至此,完成使用 DTS 进行跨阿里云账号的 RDS 实例间的迁移任务配置。