一、制作本地镜像文件-VMDK
1、使用VMware或者ESXI,用自己的镜像创建虚拟机
该虚拟机的CPU和内存随意设定,后续在AWS上可以修改,硬盘只需要挂载一块系统盘,创建硬盘时的容量是AWS上拉起实例时的最小硬盘容量
2、保证虚拟机是DHCP获取IP
查看网卡信息,保证虚拟机能正常获取IP地址
ip addr
查看网卡配置文件,确保虚拟机是DHCP方式获取IP,并且开机启动
vi /etc/sysconfig/network-script/ifcfg-ens33
3、将虚拟机关机,然后“导出为OVF”
选中虚拟机,选中“文件”-“导出为OVF”,然后保存到任意目录下
得到一下几个文件,我们只需要VMDK后缀的文件
二、上传VMDK文件至AWS平台
1、 在AWS控制台界面选择S3,进入S3管理界面
2、 点击【创建存储桶】
3、 填写名称,选择区域,并取消勾选【阻止所有公开访问】,其他选项默认,然后点击最下方【创建存储桶】
4、 点击存储桶名称,进入存储桶详情界面
6、 等待上传完成
7、 上传完成后,就能在创建的S3桶里面看到上传的VMDK文件
三、创建角色vmimport
1、 点击【服务】,打开【IAM】
3、 选择【自定义信任策略】,填入以下下内容,然后【下一步】
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": { "Service": "vmie.amazonaws.com" },
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals":{
"sts:Externalid": "vmimport"
}
}
}
]
}
5、 服务选择【EC2】,操作选择【所有】,资源选择【所有】
8、 创建策略后,返回创建角色界面,点击右边刷新按钮,勾选策略vmimport,然后【下一步】
四、 将VMDK转换为AMI私有镜像
1、 进入AWS控制台S3界面,点击VMDK的详情,得到VMDK文件的S3 URL
3、 点击【映像】-【导入映像】
4、 填写名称和版本,选择对应的操作系统
5、 导入来选选择【S3 bucket】,位置填写VMDK文件的S3 URL,IAM角色选择【vmimport】,然后点击【导入映像】
6、 跳转回【映像】界面后,点击上方提示中的【查看详细信息】,等待镜像导入完成
7、 等待状态显示【可用】,表示上传完成,记住镜像的名称【import-ami-xxxx】
8、 进入AWS控制台的EC2界面,点击【AMI】,选择【私有镜像】,可以看到已经转换成功的镜像,名称为【import-ami-xxxx】
五、启动AMI实例
1、 在【AMI】中,选择APT专用镜像,点击【从AMI启用实例】
2、按照自己的需求选择配置资源后,启动实例即可