迁移虚拟机到AWS上有很多方式,比如很多第三方的备份软件都有类似的功能,把本地的虚拟机备份成AMI 镜像文件,然后通过AMI来创建EC2 实例。AWS本身也提供了2种常见的方式。

第一个方式是AWS的命令行方式。简单的说有4个步骤:

  1. 把虚拟机的磁盘文件,比如vhd,vmdk上传到S3的bucket里面
  2. 通过AWS CLI的命令 ec2 import-image 导入生成一个AMI镜像,
  3. 生成AMI的这个过程可能会花很多个小时,我们可以通过ec2 describe-import-image-tasks的命令查看进度
  4. 最后我们可以通过 ec2 run-instance的命令来通过AMI创建EC2 实例。

他可以import,自然也可以export,不过很大的限制是只能export出root volume,其他volume的信息只能额外通过rsync 或者 robocopy进行拷贝。

第二个方式是通过AWS的 Server Migration service 实现。简单的说是5个步骤:(以Hyper-V为例)

  1. 下载对应的SMS connector的虚拟机文件,生成一个虚拟机
  2. 下载PowerShell的脚本到Hyper-V的主机,验证合法之后,执行脚本,他会打开对应的端口和服务
  3. 登陆到SMS Connector 虚拟机的web控制台界面,根据提示进行注册,连接Hyper-V的主机和AWS
  4. 登陆到AWS的SMS服务控制台,选择对应的虚拟机同步生成AMI镜像
  5. 通过AMI来生成我们的EC2实例