'aws ec2 import-image'的示例

时间:2016-01-08 17:29:42

标签: amazon-web-services amazon-ec2

尽可能地尝试,我无法使用import-image任务。我正在寻找一个可以重现的工作示例,最好从“原始”磁盘映像开始。

最近的问题:

1 个答案:

答案 0 :(得分:2)

当我尝试将FreeBSD捆绑的OVA导入其中时,我遇到了类似的问题。根据先决条件/清单,亚马逊尚不支持FreeBSD的vmimporting。这会产生“无效分区”。 此外,如果您使用LUKS加密分区,它会为我产生同样的错误,(Ubuntu)。

对于“不支持的内核版本”,这是我输出的同一错误:

c:\Users\XXXXX\Documents>aws ec2 describe-import-image-tasks --import-task-ids "import-ami-fgacu4yu"
{
 "ImportImageTasks": [
    {
        "Status": "deleted",
        "SnapshotDetails": [
            {
                "UserBucket": {
                    "S3Bucket": "myautomationbucket",
                    "S3Key": "ubuntu14.04-patched.ova"
                },
                "DiskImageSize": 843476480.0,
                "Format": "VMDK"
            }
        ],
        "Description": "Optimus Custom Ubuntu14.04",
        "StatusMessage": "ClientError: Unsupported kernel version 4.2.0-36-generic",
        "ImportTaskId": "import-ami-XXXXXXXX"
    }
]
}

根据AWS的说法,他们发布了一份已知好的内核列表,但是对于我最喜欢的Ubuntu来说,它们并不详细。

http://docs.amazonaws.cn/en_us/AWSEC2/latest/WindowsGuide/VMImportPrerequisites.html

所以我所做的就是将内核降级到可接受的内核。

我通过在我的EC2中现有的,已知良好的运行实例上执行此命令,获得了如何获得“可接受”的内容:

c:\Users\XXXXXX\Documents>aws ec2 describe-instance-attribute --instance-id i-12345678 --attribute kernel --region us-east-1
{
"InstanceId": "i-12345678",
"KernelId": {
    "Value": "aki-825ea7eb"
}
}

所以这个aki-824ea7eb是支持的内核ID。这不是很有帮助,所以经过一些研究后我意识到AWS可能只有一个支持的内核列表,因为它们现有平台的限制 - 它们没有运行您知道的ESXi。 ;)

我搜索过,发现这很有用,并按照13.04 https://www.linode.com/docs/tools-reference/custom-kernels-distros/run-a-distributionsupplied-kernel-with-pvgrub

的说明进行操作

我执行了1,2,3,4,但是我跳过了步骤5,6,7,8 ...执行了9,然后是15。

然后当我在我的VM上执行它们时,将VM重新打包到OVA并运行我的vmimport,它已成功导入实例。

希望这有帮助。