数据传输服务DTS(Data Transmission Service)支持将另一个阿里云账号下的RDS实例数据迁移至当前阿里云账号,本文将介绍跨阿里云账号数据迁移配置流程及注意事项。
前提条件
目标实例的存储空间需大于源实例的已使用存储空间。
费用说明
迁移类型 | 链路配置费用 | 公网流量费用 |
结构迁移和全量数据迁移 | 不收费。 | 通过公网将数据迁移出阿里云时将收费,详情请参见计费概述。 |
增量数据迁移 | 收费,详情请参见计费概述。 |
迁移账号权限要求
实例类型 | 结构迁移 | 全量迁移 | 增量迁移 |
源RDS实例 | 读写权限 | 读写权限 | 读写权限 |
目标RDS实例 | 读写权限 | 读写权限 | 读写权限 |
准备工作
在源实例所属云账号中配置RAM授权,将目标实例所属云账号作为授信云账号,允许通过数据传输服务访问源实例所属云账号的相关云资源,详情请参见跨阿里云账号任务如何配置RAM授权。
操作步骤
- 使用目标RDS MySQL实例所属的阿里云账号登录数据传输控制台。
在左侧导航栏,单击数据迁移。
在迁移任务列表页面顶部,选择迁移的目标实例所属地域。
单击页面右上角的创建迁移任务。
- 您需要在源库及目标库信息界面,选择源库的实例类型为RDS实例,并单击RDS实例ID选择框后方的其他阿里云账号下的RDS实例。
- 配置迁移任务的源库及目标库信息。
配置 说明 任务名称 DTS会自动生成一个任务名称,建议配置具有业务意义的名称(无唯一性要求),便于后续识别。 源库信息 - 实例类型:选择RDS实例。说明 如已选择为RDS实例,可跳过。
- 实例地区:选择源RDS实例所在地域。说明 源和目标RDS实例可选择不同地区。
- RDS所属阿里云账号ID:填入源实例所属云账号ID。 说明 使用源实例所属的云账号登录账号管理页面,即可获取云账号ID。
- 角色名称:填入源实例所属云账号配置的角色名称,详情请参见跨阿里云账号任务如何配置RAM授权。
- RDS实例ID:选择源RDS实例的实例ID。说明 如果选择RDS实例ID时出现告警信息,请根据提示进行修改。常见告警信息,请参见常见问题。
- 数据库账号:填入源RDS实例数据库的账号,权限要求请参见迁移账号权限要求。
- 数据库密码:填入该数据库账号的密码。
目标库信息 - 实例类型:选择RDS实例。
- 配置完成后,单击页面右下角的授权白名单并进入下一步。
如果源或目标数据库是阿里云数据库实例(例如RDS MySQL、云数据库MongoDB版等),DTS会自动将对应地区DTS服务的IP地址添加到阿里云数据库实例的白名单;如果源或目标数据库是ECS上的自建数据库,DTS会自动将对应地区DTS服务的IP地址添到ECS的安全规则中,您还需确保自建数据库没有限制ECS的访问(若数据库是集群部署在多个ECS实例,您需要手动将DTS服务对应地区的IP地址添到其余每个ECS的安全规则中);如果源或目标数据库是IDC自建数据库或其他云数据库,则需要您手动添加对应地区DTS服务的IP地址,以允许来自DTS服务器的访问。DTS服务的IP地址,请参见DTS服务器的IP地址段。
警告DTS自动添加或您手动添加DTS服务的公网IP地址段可能会存在安全风险,一旦使用本产品代表您已理解和确认其中可能存在的安全风险,并且需要您做好基本的安全防护,包括但不限于加强账号密码强度防范、限制各网段开放的端口号、内部各API使用鉴权方式通信、定期检查并限制不需要的网段,或者使用通过内网(专线/VPN网关/智能网关)的方式接入。
选择迁移对象及迁移类型。
配置
说明
迁移类型
如果只需要进行全量迁移,则同时勾选结构迁移和全量数据迁移。
如果需要进行不停机迁移,则同时勾选结构迁移、全量数据迁移和增量数据迁移。
说明如果没有勾选增量数据迁移,为保障数据一致性,数据迁移期间请勿在源库中写入新的数据。
迁移对象
在迁移对象框中单击待迁移的对象,然后单击将其移动至已选择对象框。
说明迁移对象选择的粒度为库、表、列。若选择的迁移对象为表或列,其他对象(如视图、触发器、存储过程)不会被迁移至目标库。
默认情况下,迁移对象在目标库中的名称与源库保持一致。如果您需要改变迁移对象在目标库中的名称,需要使用对象名映射功能,详情请参见库表列映射。
如果使用了对象名映射功能,可能会导致依赖这个对象的其他对象迁移失败。
映射名称更改
如需更改迁移对象在目标实例中的名称,请使用对象名映射功能,详情请参见库表列映射。
源、目标库无法连接重试时间
默认重试12小时,您也可以自定义重试时间。如果DTS在设置的时间内重新连接上源、目标库,迁移任务将自动恢复。否则,迁移任务将失败。
说明由于连接重试期间,DTS将收取任务运行费用,建议您根据业务需要自定义重试时间,或者在源和目标库实例释放后尽快释放DTS实例。
源表DMS_ONLINE_DDL过程中是否复制临时表到目标库
如源库使用数据管理DMS(Data Management)执行Online DDL变更,您可以选择是否迁移Online DDL变更产生的临时表数据。
是:迁移Online DDL变更产生的临时表数据。
说明Online DDL变更产生的临时表数据过大,可能会导致迁移任务延迟。
否:不迁移Online DDL变更产生的临时表数据,只迁移源库的原始DDL数据。
说明该方案会导致目标库锁表。
上述配置完成后,单击页面右下角的预检查并启动。
说明在迁移任务正式启动之前,会先进行预检查。只有预检查通过后,才能成功启动迁移任务。
如果预检查失败,单击具体检查项后的,查看失败详情。
您可以根据提示修复后重新进行预检查。
如无需修复告警检测项,您也可以选择确认屏蔽、忽略告警项并重新进行预检查,跳过告警检测项重新进行预检查。
预检查通过后,单击下一步。
在购买配置确认页面,选择链路规格并选中数据传输(按量付费)服务条款。
单击购买并启动,迁移任务正式开始。
全量数据迁移
请勿手动结束迁移任务,否则可能导致数据不完整。您只需等待迁移任务完成即可,迁移任务会自动结束。
增量数据迁移
迁移任务不会自动结束,您需要手动结束迁移任务。
说明请选择合适的时间手动结束迁移任务,例如业务低峰期或准备将业务切换至目标实例时。
观察迁移任务的进度变更为增量迁移,并显示为无延迟时,将源库停写几分钟,此时增量迁移可能会显示延迟的时间。
等待迁移任务的增量迁移再次进入无延迟后,手动结束迁移任务。
常见问题
选择源库RDS实例ID时,出现的常见告警信息及对应解决办法:
告警信息 | 解决办法 |
您需要检查源实例所属云账号ID(主账号)和角色名称是否填写正确。 说明 如需查询源实例所属云账号ID(主账号),您需要使用源实例所属的云账号(主账号)登录账号管理进行查询。 | |
确保已在源实例所属云账号中配置RAM授权,将目标实例所属云账号(主账号)作为授信云账号,允许其通过数据传输服务访问源实例所属云账号的相关云资源。授权方式,请参见跨阿里云账号任务如何配置RAM授权。 |