如何保存修改后的 AMI?

Posted

技术标签:

【中文标题】如何保存修改后的 AMI?【英文标题】:How to save a modified AMI? 【发布时间】:2015-11-03 23:27:59 【问题描述】:

我正在使用社区 AMI,它很棒,但其中的一些内容已经过时了。每次我基于它启动一台新机器时,我都必须更新所有库。我想更新它们一次并保存修改后的图像。它和 EBS 支持的 AMI。我尝试从正在运行的实例的卷创建快照,然后从快照创建 AMI。生成的 AMI 确实有我所做的所有修改,但操作系统不同!最初的 AMI 有 ubuntu,而出现的是“其他 linux”——有些东西不工作(CUDA)。原始 AMI 详细信息中的“RAM 磁盘 ID”和“内核 ID”均为空白,因此我在创建新 AMI 时将它们保留为“默认”。

【问题讨论】:

【参考方案1】:

保存修改后的 EC2 实例的首选方法是直接从正在运行的实例中刻录 AMI,而不是对其根卷进行快照。

如果出于任何原因,您所拥有的只是之前运行实例的根卷的快照,要创建可启动的 AMI,您必须遵循以下流程:启动具有相同操作系统的库存 EC2 AMI 之一作为您的 EBS 快照。从该快照创建 EBS 卷。停止新启动的实例。分离根卷,并将您从 EBS 快照创建的新卷附加为根卷并启动实例。见Launching a Linux Instance from a Backup。注意:虽然您可以从快照创建 Windows AMI,但您无法从 AMI 成功启动实例。

保存带有新修改的 AMI 的最简单方法是直接从正在运行的实例创建 AMI 映像,而不是简单地拍摄正在运行的卷的快照。

从AWS Management Console,点击实例,然后右击Image -> Create Image。

在该对话框中,设置名称、描述等。确保未选中不重新启动。从 Instance Volumes 部分调整音量设置。

请注意,您的实例将在映像创建过程中重新启动。请确保您已准备好在此期间实例暂时停止服务。

【讨论】:

我现在正在从一个正在运行的实例创建映像,同样的事情发生了——它被创建为“其他 linux”。 您是否尝试过启动并确认?我从未听说过使用错误/不同的操作系统烧录的烧录 AMI 映像。这对 AWS 来说将是一个非常严重的问题。 我的错 - 它是同一个 ubuntu,它只是在控制台中以不同的名称出现,没有充分的理由。不工作的 CUDA 被其他东西破坏了。谢谢你的建议!

以上是关于如何保存修改后的 AMI?的主要内容,如果未能解决你的问题,请参考以下文章

将修改后的 WordprocessingDocument 保存到新文件

保存并提交修改后的容器镜像

#yyds干货盘点# 保存并提交修改后的容器镜像

Amazon 启动模板 - 更新的 AMI

无法使用 JSoup 和 Java 保存修改后的 HTML 文件

Docker保存修改后的镜像