当 Amazon 需要 Grub 但 Ubuntu 阻止它时,如何从实例存储制作 Ubuntu 的 AMI 映像?

当 Amazon 需要 Grub 但 Ubuntu 阻止它时,如何从实例存储制作 Ubuntu 的 AMI 映像?

Ubuntu 仅具有适用于 Amazon 的 HVM 映像(https://cloud-images.ubuntu.com/locator/ec2/

根据亚马逊的说法,如果您使用 grub v2 并从 HVM 启动,则根本无法创建 AMI:

“必须在您的实例上安装 GRUB Legacy(版本 0.9x 或更低版本)。”(https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-instance-store-ami.html#ubuntu_instructions

但是 Ubuntu 当前版本不再具有低于 v2 的 grub(我相信从 bionic 开始?)。

这似乎是一个两难的局面,亚马逊坚持使用非常老的 grub(这让我很困惑),而 Ubuntu 只支持 HVM 基础镜像(这似乎是一个糟糕的决定,因为亚马逊正在阻止它们)。我该如何摆脱这种情况?:)

更新:亚马逊支持的回应是他们不再支持没有 EBS 的 AMI,所以没有人应该使用它(而且,我想,他们需要更新/删除解释如何操作的文档!)

答案1

根据文档,在这种情况下,解决方法是从 Ubuntu 实例存储支持的 AMI 开始,并安装兼容版本的 grub,详情如下:

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-instance-store-ami.html#ubuntu_instructions

安装grub软件包并验证您正在使用 GRUB legacy 后,grub --version您可以继续执行创建实例存储 AMI 的其余步骤。

您可以在此处按区域(和点版本)找到实例支持的 Ubuntu AMI 列表,以供您参考: https://cloud-images.ubuntu.com/locator/ec2/

答案2

亚马逊支持的回应是,他们不再支持没有 EBS 的 AMI,所以没有人应该使用它(而且,我想,他们需要更新/删除解释如何操作的文档!)。

进一步研究...亚马逊还删除了他们曾经提供的许多 EC2 硬件,因此如果不支付大幅增加的最低成本,您就无法实际使用实例存储 AMI(他们这有点鬼鬼祟祟...)。

因此,最终结果是:如果您曾经使用过实例存储,并且喜欢它们:那就不要了。亚马逊不希望人们再使用它,他们正在提高价格以防止它,同时通过不更新他们的工具和脚本来扼杀它,因此维护变得非常困难。

这很好,只是...如果他们在文档中提前提到这一点会更好:)。

相关内容