我最近在区域 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
。