自建SQL Server通过堡垒机架构的物理网关迁移上云

本文介绍如何将无公网访问条件的自建SQL Server数据库迁移到RDS SQL Server中。

使用场景

若您的自建SQL Server数据库所在服务器无法连接公网,但有一台专门的堡垒机进行网络通信时,您可以采用本文操作将自建SQL Server数据库迁移到RDS SQL Server中:

  1. 在堡垒机上安装代理网关。

  2. 在自建数据库所在服务器上安装DBS备份网关。

  3. 通过DTS控制台的物理网关迁移上云功能将自建SQL Server数据库迁移到RDS SQL Server中。

说明

若您自建SQL Server数据库所在服务器有访问公网的条件,请参考其他迁移方案,请参见自建SQL Server通过物理网关迁移上云

前提条件

  • 源端自建SQL Server需要满足以下条件。

    • 源端自建数据库的版本为:SQL Server 2019、2017、2016、2014、2012、2008 R2、2005。

      说明

      支持阿里云ECS自建数据库、IDC自建数据库、其它云服务器上的自建数据库,不支持云数据库。

    • 源端自建数据库所在服务器请勿设置HTTP_PROXYHTTPS_PROXY环境变量。

      重要

      若设置了上述两个环境变量,系统会优先使用环境变量指定的代理网关,导致步骤一堡垒机上安装的数据库网关无法生效,从而导致网络连接失败。

  • 目标端RDS SQL Server实例需满足以下条件。

    • 目标端数据库的版本为:SQL Server 2019、2017、2016、2014、2012、2008 R2。

    • 目标端RDS SQL Server实例版本必须大于或等于源端自建SQL Server版本。

  • 目标用户已完成如下动作:

    • 已创建AccessKey,并获取AccessKey IDAccessKey Secret信息,用于客户端网关的身份识别及注册上线至DBS控制台。具体操作,请参见创建AccessKey

    • 若用RAM账号(阿里云子账号)进行添加,需要获得AliyunDBSFullAccess权限,具体操作,请参见为RAM用户授权

      说明
      • 主账号默认在开通DBS服务时已开通以上权限。

      • 添加成功后,当前账号下的所有用户在DBS控制台都可以看到该备份网关。

  • 在备份SQL Server时,需要向NT AUTHORITY\SYSTEM账号授权Sysadmin角色。可执行如下SQL命令,或通过图形化界面进行设置:

    • SQL命令

      ALTER SERVER ROLE [sysadmin] ADD MEMBER [NT AUTHORITY\SYSTEM]
      GO
    • 图形化界面图形化界面设置

    说明

    AliyunDBSAgent默认的启动账号为NT AUTHORITY\SYSTEM。

  • 如果堡垒机操作系统为Linux,请先在自建数据库所在服务器中安装JRE(Java Runtime Environment)1.8版本的Java环境,您可访问官网下载和安装。

配置流程

image

步骤

说明

步骤一:安装代理网关(堡垒机)

在堡垒机上安装代理网关。

代理网关的主要功能是在备份时接收从DBS备份网关所在的数据库主机发送过来的数据,并将数据转发至DBS云存储中(外网);同时,在进行恢复或下载数据库时,代理网关也可以接收DBS云存储发回的数据,并转发至数据库主机上。

步骤二:安装备份网关(数据库主机)

在数据库所在服务器上安装DBS备份网关,且在安装时,填写代理网关的IP地址(即堡垒机的内网IP地址)。

DBS备份网关是安装在数据库主机上的备份软件,其主要功能是在备份时连接、查询数据库,并将备份数据发送至代理网关所在的堡垒机。在进行恢复操作时,DBS备份网关通过代理网关从外部获取数据,并将数据写入数据库中。

步骤三:数据库迁移上云

通过步骤一和步骤二打通网络后,在DTS控制台的选择接入方式为物理协议将自建SQL Server数据库迁移到RDS SQL Server。

说明

有关在DTS控制台进行迁移操作时的注意事项、迁移说明、支持的迁移关系等,请参见自建SQL Server通过物理网关迁移上云

步骤一:安装代理网关(堡垒机)

本节介绍在Windows系统或Linux系统的堡垒机上安装代理网关的操作步骤。

Windows系统

  1. 进入迁移任务的列表页面。

    1. 登录DMS数据管理服务

    2. 在顶部菜单栏中,单击集成与开发

    3. 在左侧导航栏,选择数据传输(DTS) > 数据迁移

    说明
  2. 迁移任务右侧,选择迁移实例所属地域。

    说明

    新版DTS迁移任务列表页面,需要在页面左上角选择迁移实例所属地域。

  3. 单击创建任务,进入配置源库及目标库信息页面。

  4. 依次选择SQL Server > 物理协议,单击新建物理协议网关按钮。

    新建物理协议网关

  5. 在弹出的部署命令对话框中,选择备份网关所在地区备份网关所在网络类型,并复制网关安装命令,手动下载。

    部署命令对话框

    说明
    • 公网:通过公网IP访问。

    • ECS私网/VPC:通过阿里云专线访问。

  6. 在Windows系统的堡垒机上进行安装。

    1. 双击下载文件内的setup.exe应用程序。安装1

    2. 选择安装语言,单击OK中文

    3. 单击下一步

    4. 阅读并接受协议条款,单击下一步

    5. 选择代理网关,单击下一步代理网关

    6. 选择代理网关安装路径,单击下一步,并单击确定

      说明

      默认安装在C:\Program Files(x86)\aliyun\dbs_agent中。

    7. 单击下一步,准备安装代理网关基础文件。

    8. 基础文件安装完成后,单击下一步 > 完成

  7. 进入Windows的任务管理器,确认代理网关是否已安装成功。

    如下图所示,表示代理网关已安装成功。安装成功

Linux系统

请前往DBS控制台,获取备份网关下载链接,在Linux系统的堡垒机上进行安装。

  1. 登录DBS控制台

  2. 单击左侧导航栏中的备份网关,然后在上方选择目标地域。

    备份地域选择备份网关

    说明

    请就近选择数据库所在的地域进行备份网关的安装。例如您的数据库在华东1(杭州)地域,建议安装华东1(杭州)地域的备份网关。

  3. 单击页面右上角的添加备份网关

  4. 选择备份网关所在网络类型,并复制备份网关安装命令,在数据库服务器上执行安装命令。

    说明
    • 公网:通过公网IP访问DBS。

    • ECS私网/VPC:通过阿里云专线访问DBS。

    1. 在Linux命令行中,执行安装命令,系统会下载并自动运行安装包。示例如下:

      
      [root@iZbp****** ~]# wget -O aliyunDBSAgentInstaller.jar https://aliyun-dbs.oss-cn-hangzhou-internal.aliyuncs.com/installer/0.0.141/aliyunDBSAgentInstaller-0.0.141.jar && sudo java -Dregion=cn-hangzhou -jar aliyunDBSAgentInstaller.jar
      --2023-08-25 16:04:52--  https://aliyun-dbs.oss-cn-hangzhou-internal.aliyuncs.com/installer/0.0.141/aliyunDBSAgentInstaller-0.0.141.jar
      Resolving aliyun-dbs.oss-cn-hangzhou-internal.aliyuncs.com (aliyun-dbs.oss-cn-hangzhou-internal.aliyuncs.com)... 100.XXX.XX.XX, 100.XXX.XX.XX, 100.XXX.XX.XX, ...
      Connecting to aliyun-dbs.oss-cn-hangzhou-internal.aliyuncs.com (aliyun-dbs.oss-cn-hangzhou-internal.aliyuncs.com)|100.XXX.XX.XX|:443... connected.
      HTTP request sent, awaiting response... 200 OK
      Length: 247955671 (236M) [application/x-java-archive]
      Saving to: ‘aliyunDBSAgentInstaller.jar’
      
      100%[=======================================================================================================>] 247,955,671 19.9MB/s   in 11s    
      
      2023-08-25 16:05:03 (21.4 MB/s) - ‘aliyunDBSAgentInstaller.jar’ saved [247955671/247955671]
    2. 选择安装语言。输入0表示选择中文,1表示选择英文。

      Select your language
      0  [x] chn
      1  [ ] eng
      Input selection: 
      0
    3. 输入1,并阅读网关协议。

      Press 1 to continue, 2 to quit, 3 to redisplay
      1
    4. 输入1,接受网关协议。

      Press 1 to accept, 2 to reject, 3 to redisplay
      1
    5. 选择安装组件,Y表示安装备份网关(Agent),N表示安装代理网关(数据库网关DG)。本文以安装代理网关为例,请选择N,再输入Y确认组件信息。

      Enter Y for Yes, N for No: 
      N
      --
      DG
      --
      Enter Y for Yes, N for No: 
      Y
      Done!
    6. 输入1,继续安装。

      Press 1 to continue, 2 to quit, 3 to redisplay
      1
    7. 选择安装路径,回车表示默认安装在默认路径/usr/local/aliyun/dbs_agent下。

      如需安装于自定义路径下,请手动输入目标路径,并输入1进行确认。本文以安装在自定义目录/usr/local/aliyun/daili_dbs_agent下为例演示。

      选择安装路径 : [/usr/local/aliyun/dbs_agent] 
      /usr/local/aliyun/daili_dbs_agent
      
      Press 1 to continue, 2 to quit, 3 to redisplay
      1
    8. 确认安装组件,输入1开始安装。

      等待安装完成即可,安装时间大约为1~5分钟。

      选择你要安装的包 :
      
        [x] Pack '代理网关基础文件' required
      Done!
      
      Press 1 to continue, 2 to quit, 3 to redisplay
      1
      
      ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
      安装中
      ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
      
      ====================
      Installation started
      
      Platform: linux,version=3.10.0-1XXX.XX.X.el7.x86_64,arch=x64,symbolicName=null,javaVersion=1.8.0_372
      [ Starting to unpack ]
      [ Processing package: 代理网关基础文件 (1/1) ]
      Cleaning up the target folder ...
      [ Unpacking finished ]
      Installation finished
      
      ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
      安装完成
      ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
      
      Installation was successful
      Application installed on /usr/local/aliyun/daili_dbs_agent
      [ Writing the uninstaller data ... ]
      [ Console installation done ]
  5. 执行如下命令,确认代理网关是否已安装成功。

    ps aux | grep app_aliyun_proxy

    如下表示进程正常,代理网关已安装成功。若出现其他无法解决的报错,请到DBS客户咨询群(钉钉群号:35585947)进行咨询。

    [root@iZbp****** ~]# ps aux | grep app_aliyun_proxy
    root     1****  0.0  0.5 7*****  9*** ?        Ssl  16:06   0:00 /usr/local/aliyun/daili_dbs_agent/dist/app_aliyun_proxy/app_aliyun_proxy -addr :9797 -logdir /usr/local/aliyun/daili_dbs_agent/logs
    root     2****  0.0  0.0 1*****   9** pts/1    S+   16:08   0:00 grep --color=auto app_aliyun_proxy

步骤二:安装备份网关(数据库主机)

在自建SQL Server所在服务器上安装DBS备份网关,安装方法如下。

  1. 复制安装代理网关部分步骤4的网关下载链接,在自建数据库所在服务器中手动下载。

    重要

    备份网关下载链接必须与安装代理网关部分步骤4的链接一致,否则会导致数据库主机和外部网络连接失败。

  2. 在本地Windows设备或服务器上,安装AliyunDBSAgent。

    1. 双击下载文件内的setup.exe应用程序。安装1

    2. 选择安装语言,单击OK,然后单击下一步

    3. 阅读并接受协议条款,单击下一步

    4. 选择DBS备份网关,单击下一步

      DBS备份网关

    5. 选择安装路径,单击下一步并单击确定

    6. 选择备份网关地域,并填写AccessKey IDAccessKey Secret代理网关地址代理网关端口号,单击下一步

      重要
      • 请确保DBS备份网关安装的地域和目标RDS SQL Server实例所在地域是一致的。

      • AccessKey信息以明文方式存放在安装目录下的.\config\dbs-agent.conf中。

      • 代理网关地址填写步骤一中代理网关的IP地址(堡垒机的内网IP地址),代理网关端口号默认为9797

      配置完成后,系统会尝试连接步骤一堡垒机中配置好的代理网关,若连接失败,则系统会报错,请重新检查代理网关的安装情况。

    7. 确认要安装的组件包,单击下一步

      网关将开始安装,安装时间大约为1~5分钟。

    8. 单击完成

      您可C:\Program Files\aliyun\dbs_agent\logs\agent.log安装目录下查看网关安装情况,如下图表示网关已正常安装。网关的进程心跳

  3. DBS备份网关安装成功后,在DTS控制台的部署命令对话框中,单击完成安装

  4. 确认DBS备份网关是否已启动。

    1. 在Windows运行窗口中,输入services.msc,单击确定

      打开系统的服务管理器。

    2. 在服务管理器中,确认该服务是否已启动,如未启动,请右键单击AliyunDBSAgent,在弹出的列表中选择启动确认是否启动

      说明

      系统将默认启动备份网关,您也可以在服务管理器中启动、停止AliyunDBSAgent的服务。

  5. 查看新添加的DBS备份网关。

    您可在数据库备份DBS的备份网关页面,单击刷新,查看新添加的DBS备份网关。新建网关

    说明

    DTS_开头为新添加的DBS备份网关。

步骤三:数据库迁移上云

具体操作,请参见操作步骤部分。

说明

配置源库信息时,物理协议网关(DBS备份网关)选择步骤二中新添加的DBS备份网关。