有没有什么办法可以用我的笔记本电脑的图像在亚马逊上启动一个实例?
答案1
你检查过 AWS 文档吗?文档内容如下:
- 从虚拟化环境中导出虚拟机,
- 将 VM 文件导入/上传到 S3 存储桶。此处将将其视为 S3 存储桶上的文件。
将您的虚拟机导入为映像:
a- VM 导入服务角色
VM Import 需要角色来执行某些操作,例如从 Amazon S3 存储桶下载磁盘映像。您必须使用以下策略和受信任实体创建名为 vmimport 的角色。
要创建服务角色:
- 使用以下策略创建一个名为 trust-policy.json 的文件:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:ExternalId": "vmimport" } } } ] }
- 使用该
create-role
命令创建一个名为的角色vmimport
并授予其 VM Import/Export 访问权限。
aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json
- 创建一个名为的文件
role-policy.json
,其策略如下,其中disk-image-file-bucket
是存储磁盘映像的存储桶:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::disk-image-file-bucket" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::disk-image-file-bucket/*" ] }, { "Effect": "Allow", "Action":[ "ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*" ], "Resource": "*" } ] }
- 使用以下
put-role-policy
命令将策略附加到上面创建的角色:
aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.json
将您的虚拟机作为映像导入 EC:
aws ec2 import-image --description "Windows 2008 OVA" --disk-containers file://containers.json
其中 containers.json 文件是:
[ { "Description": "Windows 2008 OVA", "Format": "ova", "UserBucket": { "S3Bucket": "my-import-bucket", "S3Key": "vms/my-windows-2008-vm.ova" } }]
现在您已完成所有这些步骤,您有一个可用于启动实例的 AMI。
请检查这