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.導入完成

 

 

 

 

 ——本文作者:趙毅鵬,沈磊

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM