由于项目的需要,所以需要将阿里云上面的服务器项目迁移到AWS上面,考虑了重新部署以及各种其他的可实施方案之后。最后我们看到了AWS上面的CloudEndure迁移工具。(据了解,AWS在2019年1月收购了一家名为CloudEndure的以色列初创公司,这家公司主要的产品是提供本地数据中心和公有云、以及不同的公有云之间的迁移和容灾的解决方案。被AWS收购之后,AWS的合作伙伴或者用户可以利用CloudEndure来实现多种迁移/容灾需求)因为CloudEndure和AWS不是通用的账号,所以在使用CloudEndure之前,还需要创建一个迁移账号。

1.迁移原理

  CloudEndure通过在目标区域建立一个临时实例,然后通过加密协议传输源实例的全量数据(第一次全量,后面是增量传输)。当源实例故障意外宕机的时候。可以在数分钟在目标区域建立恢复实例,以保证业务能够正常运行。当然我们这里只是做一次服务器的迁移。

CloudEndureprinciple

CloudEndurenetarchitecture

2.创建迁移实例

1.准备目标Server端

CloudEndure01

CloudEndure02

  在Setup&Info页面添加AWS的AccessKey和AccessSecret。然后复制实例都可以选默认,但要记得勾选取消带宽限制选项,不然传输速度会很慢。

CloudEndure03

CloudEndure04

CloudEndure05

2.测试带宽速度

  由于本次用作源实例所在的区域为成都,而目标区域为香港。所以在迁移之前我们先测试一下两端之间速度。(可以临时将带宽提升至200M)
  在目标端 AWS EC2作为Server端。
  iperf3 -s -p 1194
  Ali 作为Client端执行,
  iperf3 -i 10 -c 18.166.58.19 -p 1194 -t 60 >iperf60.log
  备注:18.166.58.19为Server端的IP地址,1194为端口号,注意安全组放行1194端口。

  升级带宽前:

CloudEndure06

  升级带宽后(100M):

CloudEndure07

3.安装源实例Agent

  因为源实例服务器是Linux系统,因此这里我们选择下载Machine的Linux脚本执行命令。

CloudEndure08

4.开始进行实例数据同步

  执行下载好的脚本命令,显示finish即为运行成功,此时源实例已经在向server端实时传输数据了。

CloudEndure09

  在CloudEndure的控制台也可以看到任务的进度情况。

CloudEndure10

  同样,我们登陆AWS控制台,会发现要同步的目标区域(香港)会自动添加一个CloudEndure的实例来作为临时同步终端(默认实例规格为t3.small,可以设置大一点)。

CloudEndure11

5.测试同步实例的完整性

  在实例初次同步完成后(此时还会一直进行增量同步),我们点击TEST来验证同步实例的完整性。待测试验证完成后,即可选择实例规格进行启动。这里我们选择和原实例一样的规格来进行启动。

CloudEndure12

CloudEndure13

CloudEndure14

  等待一段时间后,可以看到project里面的同步实例列表显示绿色就说明TEST已经完成等待启动了。同时显示Continuous Data Replication,说明现在数据也在进行增量同步。

CloudEndure15
  

3.在目标区域启动同步实例

  实例TEST好了后,我们就可以在目标区域启动同步好的实例了。

CloudEndure16

CloudEndure17

  然后查看Job Process任务进度,等待已经完成后。我们在AWS的控制台(香港区域),可以看到已经同步好的实例资源。通过SSH工具连接后,我们可以看出和源实例资源都是相同的。

CloudEndure18

CloudEndure19

  至此,服务器的数据迁移工作我们就已经完成。