如何使用 us-east-1 上的 S3 存储桶将 VMDK 磁盘映像导入 us-east-1e 区域上的 AWS EC2 t2.micro 实例?

如何使用 us-east-1 上的 S3 存储桶将 VMDK 磁盘映像导入 us-east-1e 区域上的 AWS EC2 t2.micro 实例?

我最近在区域 eu-east-1e 购买了一个预留的 EC2 微型实例。

我在使用 ec2-api-tools 导入虚拟机时遇到了问题:

ec2iin -t t2.micro "CentOS 7 x86_64-disk1.vmdk" -g my-launch-config -f VMDK -a x86_64 -p Linux 
-b mybucket -o MYID -w MYSECRETKEY +A -s 10 
-d importingMinimalCentos764VMDK --region us-east-1e --subnet mysubnetid

输出:

Requesting volume size: 10 GB
ERROR: Unable to create signed manifest URL. Cannot access/create bucket: mybucket : com.amazonaws.AmazonClientException
: Unable to execute HTTP request: mybucket.s3.us-east-1e.amazonaws.com

这是有道理的,因为我的存储桶的地址是mybucket.s3.us-east-1.amazonaws.com,但如果我选择该区域,那么我会收到不同的错误:

Client.InvalidParameter: Subnet 'mysubnetid' is in the availability zone 'us-east-1e'. (Service: AmazonEC2; Status
Code: 400; Error Code: InvalidParameter; Request ID: 6e6d886f-2932-42f8-b771-b99475371bc6)

如果我保留区域 us-east-1 并省略,--subnet mysubnetid那么我仍然会遇到问题,因为显然我无法在 us-east-1 上创建 t2.micro:

Client.Unsupported: The requested configuration is currently not supported. Please check the documentation for supported
 configurations. (Service: AmazonEC2; Status Code: 400; Error Code: Unsupported; Request ID: 91fe5c48-2a0e-45bc-90fb-d7a
581fc3780)

无法在 us-east-1e 区域创建存储桶。它未列出,当我尝试时,命令行工具aws s3 mb s3://mybucket --region us-east-1e给出了一个error, region not found

我该如何解决这个问题?我只想上传并转换我的 VMDK 以启动我预留的 t2.micro,为此我需要在同一区域有一个存储桶!我想我可以在另一个区域执行此操作,然后创建一个图像,然后将图像移动到我想要的区域。但我能将任何更改导出到该实例吗?(当我尝试导出图像之前出现错误you can only export imported instances,这就是我创建 VMDK VM 并导入它的原因:这样我以后可以随时导出它)

答案1

因此,首先:像这样的区域us-east-1包含像这样的可用区域us-east-1e。S3 以区域为单位运行,而许多 EC2 概念(包括 VPC 子网和预留实例)都特别关注可用区域。

ec2-import-instance 文档展示如何指定区域和可用区域。尝试--region us-east-1 --availability-zone us-east-1e

相关内容