如果将Hyper-v的虚拟机转移到AWS云端


1.准备好自己要上传的虚拟机文件,suse.vhd.
2.将vhd文件上传到S3文件存储桶中的mymedia文件夹;
3.机器上安装aws cli工具;
4.创建文件夹json,并在其下创建三个json文件,内容如下;
文件一:trust-policy.json,内容如下,不需要做任何修改
{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": { "Service": "vmie.amazonaws.com" },
         "Action": "sts:AssumeRole",
         "Condition": {
            "StringEquals":{
               "sts:Externalid": "vmimport"
            }
         }
      }
   ]
}

 

文件二:role-policy.json,内容如下,不需要做任何修改
{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:GetBucketLocation",
            "s3:GetObject",
            "s3:ListBucket" 
         ],
         "Resource":[
            "arn:aws:s3:::disk-image-file-bucket",
            "arn:aws:s3:::disk-image-file-bucket/*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "ec2:ModifySnapshotAttribute",
            "ec2:CopySnapshot",
            "ec2:RegisterImage",
            "ec2:Describe*"
         ],
         "Resource":"*"
      }
   ]
}
文件三:image-container.json,内容如下,这个里面就是指定你导入文件在S3存储桶中的地址和文件名,还有文件格式。
[
  {
    "Description": "SUSE VHD",
    "Format": "vhd",
    "UserBucket": {
        "S3Bucket": "mymedia",
        "S3Key": "suse.vhd"
    }
}]

5.进入到json文件夹,配置连接,注意要指定一下你的VPC 区域
C:\json>aws configure
AWS Access Key ID [****************MNYQ]:
AWS Secret Access Key [****************d7+Z]:
Default region name [None]: ap-southeast-1
Default output format [None]:
6.创建角色及策略,这个时候会用到前面创建的几个json文件
C:\json>aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json
C:\json>aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.json
7.导入镜像,用到前面创建的json文件
C:\json>aws ec2 import-image --description "SUSE VHD" --disk-containers file://image-container.json

8.检查导入状态:

C:\json>aws ec2 describe-import-image-tasks --cli-input-json "{ \"ImportTaskIds\": [\"import-ami-*****your id***\"], \"NextToken\": \"abc\", \"MaxResults\": 10 } "

9.导入成功后,在创建实例的时候,选择我的AMI,就可以看见我们导入的这个镜像了,然后就可以用他创建自己的新实例。

你可能感兴趣的:(Cloud,虚拟化技术,AWS)