全部产品
Search
文档中心

云数据库 RDS:使用一键上云迁移实例

更新时间:Mar 25, 2024

RDS PostgreSQL实例支持通过一键上云功能,实现RDS PostgreSQL实例间的数据迁移。

前提条件

RDS PostgreSQL实例需要满足以下条件:

  • 源实例与目标实例大版本相同,当前支持PostgreSQL 10或以上版本。

  • 目标实例为主实例,只读实例不支持一键上云。

  • 目标实例的存储类型为云盘。

  • 目标实例为空,无数据,可用存储空间大于等于源实例中数据大小的总和。

  • 源实例和目标实例所使用的VPC网段不能冲突。

注意事项

RDS PostgreSQL实例跨地域迁移时,需要使用云企业网实现跨地域内网互通,会产生相关费用,具体请参见计费概览

操作步骤

说明

本文以华北2(北京)的RDS PostgreSQL实例迁移到华东1(杭州)为例。

  1. 云企业网配置,使不同地域的两个RDS PostgreSQL实例内网互通。

    1. 创建云企业网实例。

      1. 登录云企业网管理控制台

      2. 云企业网实例页面,单击创建云企业网实例

      3. 创建云企业网实例页面,根据以下信息配置云企业网实例,然后单击确认

        配置

        说明

        名称

        云企业网实例的名称。

        名称在2~128个字符之间,以大小写字母或中文开头,可包含数字、短划线(-)或下划线(_)。

        描述

        云企业网实例的描述。

        描述可以为空或可以填写2~256个中英文字符,不能以http://https://开头。

    2. 为云企业网实例添加VPC。

      1. 云企业网实例页面,单击已创建的云企业网实例ID。

      2. 基本信息页面,单击下图中VPC数量后的添加网络实例图标,为云企业网实例添加VPC。VPC后的加好

      3. 连接网络实例页面,配置网络实例信息后,单击确认创建

        说明

        本步骤需要分别添加源实例和目标实例的VPC,因此需要添加两次,下表以添加源实例的VPC为例,添加目标实例VPC的操作方法相同,地域网络实例参数,请修改为目标实例的地域和VPC。

        参数

        取值说明

        实例类型

        默认为专有网络(VPC),无需修改。

        地域

        选择源实例所在地域,本示例选择华北2(北京)

        转发路由器

        默认当前地域下无转发路由器,系统将默认创建,分别选择转发路由器的主可用区和备可用区。

        资源归属UID

        选择同账号

        连接名称

        自定义。

        网络实例

        选择源实例使用的VPC实例。可在RDS管理控制台的数据库连接中查看VPC ID。源实例VPC实例ID

        选择VPC后,分别选择转发路由器配置的主备可用区对应的交换机。

      创建完成后,结果示例如下:云企业网路由

    3. 购买跨地域带宽。

      1. 云企业网实例页面,单击已创建的云企业网实例ID。

      2. 基本信息页面,切换到带宽包管理页签,单击购买带宽包(预付费)

      3. 在购买页面,根据以下信息配置带宽包,然后单击立即购买并完成支付。

        配置项

        说明

        云企业网

        默认选择当前云企业网,无需修改。带宽包购买成功后,带宽包自动绑定至该云企业网实例。

        区域-A

        选择参与互通的网络实例所在区域。本示例选择中国内地

        说明

        带宽包创建后,不支持修改互通区域。

        区域-B

        选择参与互通的网络实例所在区域。本示例选择中国内地

        计费方式

        显示带宽包的计费方式。默认为按带宽计费。

        带宽值

        选择带宽值。单位:Mbps。

        带宽包名称

        输入带宽包的名称。

        购买时长

        选择带宽包的购买时长。

        选中到期自动续费可开启带宽包自动续费功能。

      购买完成后,结果示例如下:带宽包结果

    4. 设置跨地域带宽。

      1. 云企业网实例页面,单击已创建的云企业网实例ID。

      2. 基本信息页面,切换到带宽包管理页签,单击设置跨地域带宽

      3. 连接网络实例页面,配置跨地域连接信息,然后单击确定创建

        配置项

        说明

        实例类型

        选择跨地域

        地域

        源实例的地域。本示例选择华北2(北京)

        转发路由器

        自动获取已创建的转发路由器,无需配置。

        对端地域

        目标实例的地域,本示例选择华东1(杭州)

        转发路由器

        自动获取已创建的转发路由器,无需配置。

        带宽包实例

        选择云企业网实例已绑定的带宽包实例。

        带宽

        输入允许使用的带宽值。单位:Mbps。

      创建成功后,结果示例如下:设置带宽包

  2. 源实例配置。

    1. 添加白名单。

      添加白名单的具体操作,请参见设置白名单组内白名单请填写目标实例的VPC网段。

      VPC网段查看方法

      1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
      2. 在左侧导航栏单击数据库连接,在网络类型中查看VPC网段。VPC网段

    2. 创建高权限账号。

      创建账号的具体操作,请参见创建账号账号类型请选择高权限账号。

      说明

      高权限账号用于迁移上云,需要具备CREATE ROLE、REPLICATION和pg_monitor权限。如果您已有高权限的账号,则无需重复创建。

  3. 目标实例配置。

    1. 上云评估。

      1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
      2. 在左侧导航栏单击一键上云,单击上云评估页签。

      3. 在配置向导的选择迁移来源步骤,选择迁移来源为阿里云ECS自建PostgreSQL或阿里云RDS PostgreSQL后,单击下一步

      4. 目标库配置步骤,单击下一步

      5. 源库配置步骤,选中所有配置准备项,单击下一步

      6. 发起迁移评估步骤,配置源库信息。

        参数

        取值说明

        迁移任务名

        系统自动生成,无需修改。

        源端 VPC IP/DNS

        填写源实例的内网连接地址。具体请参见查看内网地址

        源端Port

        填写源实例的端口,具体请参见查看端口

        用户名

        源实例中创建的高权限数据库账号。

        密码

        源实例中创建的高权限数据库账号的密码。

      7. 单击创建迁移评估任务

        说明

        迁移评估任务期间,实例状态将变更为维护实例中

        迁移评估完成后,您可以在上云评估页面查看迁移评估任务的状态。

        • 只有状态成功,您才能进行迁移上云步骤。

        • 如果状态失败,请单击操作列的查看报告,根据报错进行处理,常见报错请参见解读上云评估报告

    2. 迁移上云。

      1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
      2. 在左侧导航栏单击一键上云,切换至迁移上云页签,单击创建迁移上云任务。

      3. 创建迁移上云任务窗口中,从关联评估任务列表中选择已成功的上云评估任务。

        说明

        选择关联评估任务后,源库类型源端 IP/DNS源端Port用户名参数将会自动获取,无需配置。

      4. 单击发起迁移上云,系统将自动启动上云任务。

        重要

        上云任务期间,实例状态将变更为迁入数据中。您可以对源实例进行读写,但请勿执行迁移、重启、变配等操作。

    3. 将目标RDS PostgreSQL提升为主库。

      1. 在迁移上云任务中,单击上云阶段列的链接,查看当前上云任务进度。

      2. 当上云阶段为增量同步时,可单击操作列的上云切换,将目标RDS PostgreSQL提升为主库,正式提供服务。

      3. 切换上云窗口,根据上云须知提示,设置源实例只读或应用停止写入。

        说明

        参考如下步骤,设置源实例只读:

        1. 通过设置实例参数功能,修改源实例参数rds_force_trans_ro_non_sup取值为on

        2. 使用如下语句,中断所有现有会话。

          SELECT pg_terminate_backend(pid) FROM pg_stat_activity 
          WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();
      4. 选中所有复选框,单击立即切换,等待迁移完成。

后续配置

为了确保RDS PostgreSQL实例迁移后,应用侧在不修改业务代码的情况下依然正常连接,还需要在目标实例做如下配置。

  1. 修改目标实例白名单设置,与源实例白名单保持一致。更多信息,请参见设置白名单

  2. 修改目标实例的连接地址,与源实例连接地址相同。修改方法请参见修改内外网连接地址

    以源实例连接地址为pgm-aaa.pg.rds.aliyuncs.com,目标实例连接地址为pgm-bbb.pg.rds.aliyuncs.com为例,修改方法如下。

    1. 将源实例连接地址pgm-aaa.pg.rds.aliyuncs.com修改为pgm-ccc.pg.rds.aliyuncs.com

    2. 将目标实例连接地址pgm-bbb.pg.rds.aliyuncs.com修改为pgm-aaa.pg.rds.aliyuncs.com