AWS VM Import/Export导入虚拟机
前提条件:
1. https://docs.aws.amazon.com/zh_cn/vm-import/latest/userguide/vmie_prereqs.html
2.安装aws cli
此处以.ova格式为例
1.导入.ova文件到s3
aws s3 cp Downloads/CentOS7.ova s3://s3-vmimport/CentOS7.ova
2.IAM用户权限设置
IAM用于需拥有必要的s3和ec2权限,此测试使用的IAM用户拥有AdministratorAccess权限,所以未做具体配置。
详细的权限要求可参考以下链接中“IAM用户的必要权限”一节
https://docs.aws.amazon.com/zh_cn/vm-import/latest/userguide/vmie_prereqs.html
3.创建角色
VM Import/Export需要一个角色代表您执行某些操作。您必须创建名为vmimport的服务角色,并附带可允许VM Import/Export担任相关角色的信任关系策略文档,您还必须将IAM策略附加到该角色。
(1)编写trust-policy.json文件
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": { "Service": "vmie.amazonaws.com" },
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals":{
"sts:Externalid": "vmimport"
}
}
}
]
}
(2)运行如下命令创建角色
aws iam create-role --role-name vmimport --assume-role-policy-document “file:///trust-policy.json”
运行结果如下
(3)创建权限策略文件role-policy.json,
其中,disk-image-file-bucket 为存储磁盘映像的存储桶,export-bucket 为存储所导出映像的存储桶
注意s3的arn中global用arn:aws:s3:::,中国区用arn:aws-cn:s3:::
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket"
],
"Resource":[
"arn:aws-cn:s3:::disk-image-file-bucket",
"arn:aws-cn:s3:::disk-image-file-bucket/*"
]
},
{
"Effect":"Allow",
"Action":[
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket",
"s3:PutObject",
"s3:GetBucketAcl"
],
"Resource":[
"arn:aws-cn:s3:::export-bucket",
"arn:aws-cn:s3:::export-bucket/*"
]
},
{
"Effect":"Allow",
"Action":[
"ec2:ModifySnapshotAttribute",
"ec2:CopySnapshot",
"ec2:RegisterImage",
"ec2:Describe*"
],
"Resource":"*"
}
]
}
(4)执行以下命令
aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file:///Users/shenlei/role-policy.json"
运行结果如下
3.导入.ova
(1)执行以下命令
aws ec2 import-image --disk-containers Format=ova,UserBucket="{S3Bucket=s3-vmimport,S3Key=CentOS7.ova}"
运行结果如下
(2)监控导入状态
执行以下命令
aws ec2 describe-import-image-tasks --import-task-ids import-ami-0176bxxxxxxxeb8
运行结果如下:
a.coverting状态
b.updating状态
c.booting状态
d.booted状态
e.导入完成
——本文作者:赵毅鹏,沈磊