数据传输服务DTS(Data Transmission Service)支持跨云账号实现数据同步或迁移(在源库信息选择跨账号),适用于云账号间的资源迁移或合并、业务架构调整等多种应用场景。

背景信息

现有两个阿里云数据库或者通过专线、VPN网关或智能网关接入自建数据库(例如RDS MySQL)分别属于不同的阿里云账号,由于业务需求,需要将云账号A下数据库的业务数据迁移至云账号B下的数据库,详细架构,如下图所示。
说明 目标数据库所属云账号(即云账号B)必须为主账号。
背景介绍

支持的源实例

  • 阿里云数据库:RDS MySQLRDS MariaDBRDS PostgreSQLPolarDB-X 1.0PolarDB O引擎云数据库Redis
  • 自建数据库:通过专线、VPN网关或智能网关接入的自建MySQL、PostgreSQL、Redis、MongoDB、Oracle、SQL Server、Db2 for LUW数据库。

实现流程

步骤 说明
步骤一:准备工作。使用源实例所属的云账号A登录阿里云控制台,完成RAM角色授权操作。 配置RAM角色,将目标实例所属的云账号B(主账号)设置为授信云账号,并授权其访问本账号的云资源。
步骤二:配置DTS任务。使用目标实例所属的云账号B(主账号)登录阿里云控制台,完成DTS任务配置。 配置DTS任务,允许目标实例所属的云账号B(主账号)配置DTS任务时,跨云账号读取源实例所属云账号A下的云资源。
配置示例 举例介绍配置DTS跨云账号同步任务的操作步骤。

步骤一:准备工作

使用源实例所属的阿里云账号A,登录RAM控制台,创建RAM角色并授权DTS通过阿里云账号B访问阿里云账号A下的相关云资源。配置方式,请参见跨阿里云账号数据迁移或同步时如何配置RAM授权跨阿里云账号迁移或同步专有网络下的自建数据库时如何配置RAM授权

步骤二:配置DTS任务

  1. 使用目标实例所属的阿里云账号(主账号),进入同步任务或迁移任务的列表页面。
    1. 使用目标实例所属的阿里云账号B(主账号),登录DMS数据管理服务
    2. 在顶部菜单栏中,单击集成与开发(DTS)
    3. 在左侧导航栏,选择数据传输(DTS) > 数据同步数据传输(DTS) > 数据迁移
    说明
  2. 选择目标实例所属地域并单击创建任务
  3. 在配置源库及目标库信息时,在源库信息区域,您需先传入源实例的授权信息(比如跨阿里云账号、跨阿里云账号角色名),允许DTS跨云账号读取源实例信息。
    配置 说明
    是否跨阿里云账号 选择跨账号
    跨阿里云账号 填入源库所属阿里云账号A的主账号ID。
    说明 您可以使用源库所属的阿里云账号A的主账号登录账号管理页面来获取云账号ID。
    获取云账号ID
    跨阿里云账号角色名 填入步骤一:准备工作中创建的RAM角色名称。

配置示例

本操作以同步任务为例,介绍DTS跨云账号任务的配置步骤。

  1. 创建RAM角色。
    1. 使用源实例所属的阿里云账号,登录RAM控制台
    2. 在左侧导航栏,选择身份管理 > 角色
    3. 角色页面,单击创建角色
    4. 创建角色面板,选择可信实体类型为阿里云账号,然后单击下一步创建角色
    5. 在弹出的对话框中,配置RAM角色信息。信任账号
      配置选项 配置说明
      角色名称 填写RAM角色名称,本示例填写ram-for-dts
      说明 可以填写大写英文、小写英文、数字或短横线(-),长度不超过64个字符。
      备注(可选) 填写RAM角色备注信息。
      选择信任的云账号 选择为其他云账号,并填写目标实例所属的云账号ID(主账号)作为授信云账号。
      说明 您需要使用目标实例所属的云账号(主账号)登录账号管理页面,在基本信息页签的账号ID获取云账号ID。
      获取云账号ID
    6. 单击完成
  2. 单击精确授权,为创建好的RAM角色授权。创建角色
    1. 添加权限对话框中选择权限类型为系统策略
    2. 输入策略名称下方的文本框中,输入AliyunDTSRolePolicy添加权限
    3. 单击确定
    4. 精确授权成功后,单击关闭
  3. 修改信任策略。
    1. 角色页面,找到刚刚创建的RAM角色,单击对应的RAM角色名称。角色
    2. 在RAM角色的基本信息页面,单击信任策略管理页签。信任策略管理
    3. 信任策略管理页签中,单击修改信任策略
    4. 将下述代码复制至策略框中。
      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "RAM": [
                          "acs:ram::目标实例所属的云账号ID:root"
                      ],
                      "Service": [
                          "目标实例所属的云账号ID@dts.aliyuncs.com"
                      ]
                  }
              }
          ],
          "Version": "1"
      }
    5. 单击确定
  4. 创建同步任务。
    1. 使用目标实例所属的阿里云账号(主账号),登录DMS数据管理服务
    2. 在顶部菜单栏中,单击集成与开发(DTS)
    3. 在左侧导航栏,选择数据传输(DTS) > 数据同步
      说明 若您登录的是极简模式的DMS,请在左上角的3中选择全部功能 > 集成与开发(DTS) > 数据同步。更多信息请参见自定义DMS界面布局与样式
    4. 单击创建任务,配置源库及目标库信息。
    5. 根据实际业务需求选择数据库类型接入方式实例地区
    6. 配置源实例所属的云账号信息。
      跨账号
      配置 说明
      是否跨阿里云账号 选择跨账号
      跨阿里云账号 填入源库所属阿里云账号的主账号ID。
      说明 您可以使用源库所属的阿里云账号A的主账号登录账号管理页面来获取云账号ID。
      跨阿里云账号角色名 填入创建RAM角色中创建的RAM角色名称,本示例填写ram-for-dts
    7. 根据源和目标实例类型,参考具体配置文档,创建同步或迁移任务。具体配置文档,请参见同步方案概览迁移方案概览