RDS PostgreSQL的一键上云功能不仅支持阿里云ECS或IDC自建PostgreSQL的一键上云,还支持RDS PostgreSQL实例跨账号迁移,本文介绍如何使用一键上云功能,实现RDS PostgreSQL实例间的跨账号迁移。
前提条件
RDS PostgreSQL实例需要满足以下条件:
源实例与目标实例大版本相同,当前支持PostgreSQL 10或以上版本。
目标实例为主实例,只读实例不支持一键上云。
目标实例的存储类型为云盘。
目标实例为空,无数据,可用存储空间大于等于源实例中数据大小的总和。
源实例和目标实例所使用的VPC网段不能冲突。
跨账号迁移需要配置跨账号网络实例授权,具体请参见跨账号网络实例授权。
注意事项
操作步骤
本文以A账号下RDS PostgreSQL实例迁移到B账号下为例。源实例位于A账号下,目标实例和云企业网位于B账号下。
在B账号配置云企业网,使不同账号的两个RDS PostgreSQL实例内网互通。
创建云企业网实例。
登录云企业网管理控制台。
在云企业网实例页面,单击创建云企业网实例。
在创建云企业网实例页面,根据以下信息配置云企业网实例,然后单击确认。
配置
说明
名称
云企业网实例的名称。
名称在2~128个字符之间,以大小写字母或中文开头,可包含数字、短划线(-)或下划线(_)。
描述
云企业网实例的描述。
描述可以为空或可以填写2~256个中英文字符,不能以
http://
和https://
开头。
为云企业网实例添加VPC。
在云企业网实例页面,单击已创建的云企业网实例ID。
在基本信息页面,单击下图中VPC数量后的图标,为云企业网实例添加VPC。
在连接网络实例页面,配置网络实例信息后,单击确认创建。
说明本步骤需要分别添加源实例和目标实例的VPC,因此需要添加两次,下表以添加源实例的VPC为例,添加目标实例VPC的操作方法相同,地域和网络实例参数,请修改为目标实例的地域和VPC,资源归属UID选择同账号。
参数
取值说明
实例类型
默认为专有网络(VPC),无需修改。
地域
选择源实例所在地域。
转发路由器
默认当前地域下无转发路由器,系统将默认创建,分别选择转发路由器的主可用区和备可用区。
资源归属UID
选择跨账号后,填写源实例的账号ID。
说明您可以在顶部菜单栏单击用户图标,查看账号ID。
连接名称
自定义。
网络实例
选择源实例使用的VPC实例。可在RDS管理控制台的数据库连接中查看VPC ID。
选择VPC后,分别选择转发路由器配置的主备可用区对应的交换机。
创建完成后,结果示例如下:
(可选)购买跨地域带宽。
说明如果账号A和账号B的RDS PostgreSQL地域不同,例如账号A的源实例在华东2(北京),账号B的目标实例在华东1(杭州),还需要执行本步骤,如果地域相同,请跳过此步骤,执行步骤2:源实例配置。
在云企业网实例页面,单击已创建的云企业网实例ID。
在基本信息页面,切换到带宽包管理页签,单击购买带宽包(预付费)。
在购买页面,根据以下信息配置带宽包,然后单击立即购买并完成支付。
配置项
说明
云企业网
默认选择当前云企业网,无需修改。带宽包购买成功后,带宽包自动绑定至该云企业网实例。
区域-A
选择参与互通的网络实例所在区域。本示例选择中国内地。
说明带宽包创建后,不支持修改互通区域。
区域-B
选择参与互通的网络实例所在区域。本示例选择中国内地。
计费方式
显示带宽包的计费方式。默认为按带宽计费。
带宽值
选择带宽值。单位:Mbps。
带宽包名称
输入带宽包的名称。
购买时长
选择带宽包的购买时长。
选中到期自动续费可开启带宽包自动续费功能。
购买完成后,结果示例如下:
(可选)设置跨地域带宽。
说明如果账号A和账号B的RDS PostgreSQL地域不同,例如账号A的源实例在华东2(北京),账号B的目标实例在华东1(杭州),还需要执行本步骤,如果地域相同,请跳过此步骤,执行步骤2:源实例配置。
在云企业网实例页面,单击已创建的云企业网实例ID。
在基本信息页面,切换到带宽包管理页签,单击设置跨地域带宽。
在连接网络实例页面,配置跨地域连接信息,然后单击确定创建。
配置项
说明
实例类型
选择跨地域连接。
地域
源实例的地域。本示例选择华北2(北京)。
转发路由器
自动获取已创建的转发路由器,无需配置。
对端地域
目标实例的地域,本示例选择华东1(杭州)。
转发路由器
自动获取已创建的转发路由器,无需配置。
带宽包分配方式
根据需要选择带宽包的分配方式。取值:
从带宽包分配
按流量付费
本文以从带宽包分配为例。
带宽包实例
选择云企业网实例已绑定的带宽包实例。
说明仅带宽包分配方式选择从带宽包分配时配置该参数。
带宽
输入允许使用的带宽值。单位:Mbps。
默认链路类型
默认使用的链接类型。取值
铂金
金
说明仅带宽包分配方式选择按流量付费时可配置为铂金。
创建成功后,结果示例如下:
源实例配置。
目标实例配置。
上云评估。
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏单击一键上云/容灾搭建,单击可行性评估页签。
在配置向导的选择场景与源端类型步骤,选择场景为迁移上云,并选择源端为阿里云RDS实例,单击下一步。
在目标实例配置步骤,单击下一步。
在源实例配置步骤,选中所有配置准备项,单击下一步。
在发起可行性评估步骤,配置源库信息。
参数
取值说明
迁移任务名
系统自动生成,无需修改。
源端 VPC IP/DNS
填写源实例的内网连接地址。具体请参见查看内网地址。
源端Port
填写源实例的端口,具体请参见查看端口。
用户名
源实例中创建的高权限数据库账号。
密码
源实例中创建的高权限数据库账号的密码。
单击创建可行性评估任务。
说明迁移评估任务期间,实例状态将变更为维护实例中。
迁移评估完成后,您可以在可行性评估页面的迁移上云列表查看迁移评估任务的状态。
只有状态为成功,您才能进行迁移上云步骤。
如果状态为失败,请单击操作列的查看报告,根据报错进行处理,常见报错请参见解读上云评估报告。
迁移上云。
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏单击一键上云/容灾搭建,切换至迁移上云页签,单击创建迁移上云任务。
在创建迁移上云任务窗口中,从关联评估任务列表中选择已成功的上云评估任务。
说明选择关联评估任务后,源库类型、源端 IP/DNS、源端Port和用户名参数将会自动获取,无需配置。
单击发起迁移上云,系统将自动启动上云任务。
重要上云任务期间,实例状态将变更为迁入数据中。您可以对源实例进行读写,但请勿执行迁移、重启、变配等操作。
将目标RDS PostgreSQL提升为主库。
在迁移上云任务中,单击上云阶段列的链接,查看当前上云任务进度。
当上云阶段为增量同步时,可单击操作列的上云切换,将目标RDS PostgreSQL提升为主库,正式提供服务。
在切换上云窗口,根据上云须知提示,设置源实例只读或应用停止写入。
说明参考如下步骤,设置源实例只读:
通过设置实例参数功能,修改源实例参数rds_force_trans_ro_non_sup取值为on。
使用如下语句,中断所有现有会话。
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();
选中所有复选框,单击立即切换,等待迁移完成。