如何迁移AWS计算实例到OCI上?出于成本的考虑或者多云战略,客户在公有云之间的迁移越来越普遍,其中经常碰到计算实例的迁移。这里以从AWS迁移计算实例到OCI上为例,主要有下面几种做法:
在新的OCI云环境上重新安装配置一个新的计算实例,然后部署应用。这种方法做了很多重复劳动,并且在原来AWS云上做的一些内核优化等配置在新的环境上可能会遗漏。
把原来AWS上的计算实例导出一个镜像到S3上,然后导入到OCI对象存储上,利用该镜像创建实例。相比方法1简单,并且不会遗漏配置。
利用专业的迁移工具,如Rackware,需要付费,一般在需要大规模迁移计算实例的时候使用。
下面简单介绍一下方法2和方法3的做法。
一、通过导出镜像方式,迁移AWS计算实例到OCI上
1. 在AWS上创建一个S3 bucket,并赋予读写权限,具体可参考:
https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html#vmexport-prerequisites
要设置一下S3访问权限,否则会报错:An error occurred (InvalidParameter) when calling theCreateInstanceExportTask operation: Access denied to the bucket aws-to-oci-xcj
2. 执行下面的命令,导出instance的镜像到S3上
aws ec2 create-instance-export-task --description 'AWS ToOCI' --instance-id i-0edfef6ec7ce0b3b2 --target-environment vmware--export-to-s3-taskDiskImageFormat=vmdk,ContainerFormat=ova,S3Bucket=aws-to-oci-xcj
可以在AWS Console上看到导出的镜像文件
3. 将 EC2 映像从 AWS S3 复制到 OCI 对象存储
有多种方法可以完成此任务,例如使用Web控制台或CLI/SDK下载/上传。也可以采用rclone将数据从AWS S3复制到OCI对象存储上,本实验直接把镜像文件下载并上传到OCI上。
创建Custom Image
利用Custom Image 创建计算实例
计算实例创建完成,并启动成功
二、利用RMM软件迁移AWS计算实例到OCI上
RackWare Management Module (RMM) 是一种自动化灾难恢复 (DR) 工具,它处理在不同数据中心和云之间迁移现有工作负载的过程,创建正在运行的映像的确切副本,而无需重建或重新创建模板映像和应用程序。
RMM 的软件平台提供了一套直观的自动化服务,可提供 IT 复原力并简化云迁移,同时降低资本和运营成本。RMM 将应用程序堆栈与允许将其移植到 OracleCloud Infrastructure 的底层平台取消链接。RMM包括发现、分析和自动化功能,使所有流程都能快速、轻松地且无错误。
RMM支持所有主要的公共和私有云,包括AWS、Microsoft Azure、IBM Cloud、Oracle Cloud、Google Cloud、OpenStack、CloudStack 等等。
在OCI和AWS的Marketplace都可以找到RMM,OCI Marketplace的RMM链接:
https://cloud.oracle.com/marketplace/application/29367738/usageInformation?region=us-ashburn-1
可参考https://www.rackwareinc.com/rackware-rmm-migration-getting-started-for-oracle-marketplace-byol进行配置
总结
通过以上介绍的三种方式,可以很方便的把计算实例从AWS迁移到OCI上,大家可以根据实际项目情况选用。