创建一个由 Amazon EBS 支持的 Linux AMI - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

创建一个由 Amazon EBS 支持的 Linux AMI

要创建 Amazon EBS 支持的 Linux AMI,请通过从 Amazon EBS 支持的现有 Linux AMI 启动的实例开始进行。这可以是您从 Amazon Web Services Marketplace 获得的 AMI、您使用 Amazon Server Migration ServiceVM Import/Export 创建的 AMI 或您可以访问的任何其他 AMI。根据您的需要自定义实例后,创建并注册新的 AMI,用它来启动具有这些自定义项的新实例。

下述过程适用于由加密的 Amazon Elastic Block Store (Amazon EBS) 卷(包括根卷)支持的 Amazon EC2 实例,也适用于未加密卷。

用于由实例存储支持的 AMIs 的 AMI 创建过程有些不同。有关 Amazon EBS 支持的实例和实例存储支持的实例之间的差别,以及如何确定实例的根设备类型的信息,请参阅 根设备存储。有关创建实例存储支持的 Linux AMI 的信息,请参阅 创建由实例存储支持的 Linux AMI

有关创建 Amazon EBS 支持的 Windows AMI 的信息,请参阅 Amazon EC2 用户指南(适用于 Windows 实例)中的创建 Amazon EBS 支持的 Windows AMI

创建由 Amazon EBS-backed AMI 的概述

以下图表概述了从运行中的 EC2 实例创建由 Amazon EBS-backed AMI 的流程:从现有 AMI 开始,启动实例,自定义该实例,从该实例创建新 AMI,并最终启动新 AMI 的实例。图中的数字与以下描述中的数字匹配。


				从实例创建 AMI 的工作流程
1 – AMI #1:从现有的 AMI 开始

查找类似于您要创建的 AMI 的现有 AMI。这可以是您从 Amazon Web Services Marketplace 获得的 AMI、您使用 Amazon Server Migration ServiceVM Import/Export 创建的 AMI 或您可以访问的任何其他 AMI。您将根据自己的需求自定义此 AMI。

在图中,EBS 根卷快照 #1 表示 AMI 为由 Amazon EBS-backed AMI,并且有关根卷的信息存储在此快照中。

2 – 从现有 AMI 启动实例

配置 AMI 的方法是从您希望作为新 AMI 基础的 AMI 启动实例,然后自定义该实例(在图中以 3 表示)。然后,您将创建一个包含自定义项的新 AMI(在图中以 4 表示)。

3 – EC2 实例 #1:自定义实例

连接到您的实例并根据您的需求对其进行自定义。您的新 AMI 将包含这些自定义项。

您可以对您的实例执行以下任何操作,以便自定义该实例:

  • 安装软件和应用程序

  • 复制数据

  • 通过删除临时文件、对您的硬盘进行碎片整理以及将可用空间清零来缩短启动时间

  • 附加其他 EBS 卷

4 – 创建映像

当您从实例中创建 AMI 时,Amazon EC2 先切断实例的电源再创建 AMI,以确保创建过程中实例上的所有内容均停止并保持一致状态。如果您确信您的实例处于适合 AMI 创建的一致状态,则可以告知 Amazon EC2 不断电和重启实例。一些文件系统 (例如 XFS) 可以冻结和解冻活动,因此能在不重启实例的情况下安全创建映像。

在 AMI 创建过程中,Amazon EC2 会创建您实例的根卷和附加到您实例的任何其他 EBS 卷的快照。在注销 AMI 并删除快照之前,您需要支付快照的费用。如果有任何附加到实例的卷进行了加密,则新 AMI 只会在支持 Amazon EBS 加密的实例上成功启动。

根据卷的大小,可能需要几分钟才能完成 AMI 创建过程 (有时长达 24 小时)。您可能会发现先创建卷的快照,然后再创建 AMI 后会更高效。这样,创建 AMI 时就只需创建小的增量快照,且创建过程完成得更快 (快照创建的总时间保持不变)。有关更多信息,请参阅创建 Amazon EBS 快照

5 – AMI #2:新 AMI

该过程完成之后,您便具有从实例的根卷创建的新 AMI 和快照(快照 #2)。如果除了根设备卷之外,您还向实例添加了实例存储卷或 EBS 卷,则新 AMI 的块储存设备映射包含这些卷的信息。

Amazon EC2 自动为您注册 AMI。

6 – 从新 AMI 启动实例

您可以使用新 AMI 启动实例。

7 – EC2 实例 #2:新实例

当您使用新 AMI 启动实例时,Amazon EC2 会使用快照为实例的根卷创建新 EBS 卷。如果您在自定义实例时添加了实例存储卷或 EBS 卷,则新 AMI 的块储存设备映射包含这些卷的信息,并且您从新 AMI 启动的实例的块储存设备映射自动包含这些卷的信息。新实例的块储存设备映射中指定的实例存储卷是新的,不包含用于创建 AMI 的实例的实例存储卷中的任何数据。EBS 卷上的数据会持久保留。有关更多信息,请参阅块设备映射

当您从由 EBS 支持的 AMI 创建新实例时,应该先初始化其根卷及任何额外的 EBS 存储,然后再将其投入生产。有关更多信息,请参阅初始化 Amazon EBS 卷

从实例创建 Linux AMI

可以使用 Amazon Web Services Management Console 或命令行创建 AMI。

Console

使用控制台从实例创建 AMI

  1. 从现有 AMI 开始。

    1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

    2. 在导航窗格中,在映像下选择 AMI

    3. 选择一个适当的 EBS 支持的 AMI 作为新 AMI 的起点。

  2. 从 AMI 启动实例。

    要启动您所选的 EBS 支持的 AMI 实例,请选择 Launch instance from image(从镜像启动实例)(新控制台)或 Launch(启动)(旧控制台)。在向导中接受默认值。有关更多信息,请参阅使用新启动实例向导启动实例

  3. 自定义实例。

    在实例运行时连接到该实例。您可以对您的实例执行以下任何操作,以便根据您的需求自定义该实例:

    • 安装软件和应用程序

    • 复制数据

    • 通过删除临时文件、对您的硬盘进行碎片整理以及将可用空间清零来缩短启动时间

    • 附加其他 EBS 卷

    (可选)创建所有附加到您的实例的卷的快照。有关创建快照的更多信息,请参阅创建 Amazon EBS 快照

  4. 从该实例创建 AMI。

    1. 在导航窗格中,选择 Instances,选择您的实例,然后选择 Actions (操作)Image and templates (映像和模板)Create Image (创建映像)

      提示

      如果该选项处于禁用状态,则表明您的实例不是由 Amazon EBS 支持的实例。

    2. Create Image (创建映像) 对话框中,请指定以下信息,然后选择 Create Image (创建映像)

      • 映像名称 – 映像的唯一名称。

      • 映像描述 – 映像的可选描述,最多 255 个字符。

      • No reboot(不重启)– 默认情况下,当 Amazon EC2 创建新 AMI 时,会重新启动实例,以便其可以在数据处于静态状态时创建附加卷的快照,以确保状态的一致性。对于 No reboot(不重启)设置,您可以选中 Enable(启用)复选框以防止 Amazon EC2 关闭和重启实例。

        警告

        如果您选择启用 No reboot(不重启)选项,则我们无法保证所创建映像的文件系统完整性。

      • 实例卷 – 您可以使用此部分中的字段修改根卷,添加其他的 Amazon EBS 和实例存储卷。

        • 根卷在第一行中定义。要更改根卷的大小,请在 Size (尺寸) 中输入所需的值。

        • 如果选择 Delete on Termination (终止时删除),则当您终止从此 AMI 创建的实例时,将删除 EBS 卷。如果取消选择 Delete on Termination (终止时删除),则当您终止实例时,不会删除 EBS 卷。有关更多信息,请参阅在实例终止时保留 Amazon EBS 卷

        • 要添加 EBS 卷,请选择 Add New Volume(添加新卷)(这将添加一个新行)。对于 Volume type (卷类型),选择 EBS,并填写行中的字段。当您从新的 AMI 启动实例时,额外的卷会自动附加到该实例。您必须格式化并挂载空卷。您必须挂载基于快照的卷。

        • 要添加实例存储卷,请参阅 将实例存储卷添加到 AMI。当您从新的 AMI 启动实例时,这些额外的卷会自动初始化并挂载。这些卷不包含您的 AMI 所基于的运行实例的实例存储卷上的数据。

    3. 要在创建 AMI 时查看其状态,请在导航窗格中,选择 AMIs。最初,状态是 pending,但过几分钟就会变成 available

  5. (可选)要查看为新的 AMI 创建的快照,请选择快照。您从此 AMI 启动实例时,我们使用此快照创建其根设备卷。

  6. 从新 AMI 启动实例。

    有关更多信息,请参阅使用旧的启动实例向导启动实例

    新的正在运行的实例包含您在之前的步骤中应用的所有自定义项。

Amazon CLI

您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

从快照创建 Linux AMI

如果您有实例的根设备卷的快照,则可以使用 Amazon Web Services Management Console 或命令行从此快照创建 AMI。

New console

使用控制台从快照创建 AMI

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Snapshots

  3. 选择从中创建 AMI 的快照并选择 Actions(操作)、Create image from snapshot(通过快照创建镜像)。

  4. 对于 Image name(镜像名称),请输入镜像的描述性名称。

  5. 对于 Description(描述),请输入镜像的简短描述。

  6. 对于 Architecture(架构),请选择镜像架构。对于 32 位,选择 i386;对于 64 位,选择 x86_64;对于 64 位 ARM,选择 ARM64;对于 64 位 macOS,选择 x86_64

  7. 对于 Root device name(根设备名称),请输入要用于根设备卷的设备名称。有关更多信息,请参阅Linux 实例上的设备名称

  8. 对于 Virtualization type(虚拟化类型),请选择从此 AMI 启动的实例要使用的虚拟化类型。有关更多信息,请参阅Linux AMI 虚拟化类型

  9. (仅适用于半虚拟化)对于 Kernel ID(内核 ID),选择镜像的操作系统内核。如果您使用的是实例的根设备卷快照,请选择与原始实例相同的内核 ID。如果您不确定,请使用默认内核。

  10. (仅适用于半虚拟化)对于 RAM disk ID(RAM 磁盘 ID),请选择镜像的 RAM 磁盘。如果您选择了一个特定内核,则您可能需要选择带有可支持该内核的驱动程序的某个特定 RAM 磁盘。

  11. (可选)在 Block device mappings(块储存设备映射)部分中,自定义根卷并添加其它数据卷。

    对于每个卷,您可以指定大小、类型、性能特征、终止时删除的行为以及加密状态。对于根卷,其大小不能小于快照的大小。

  12. 选择创建映像

Old console

使用控制台从快照创建 AMI

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中的 Elastic Block Store 下,选择 Snapshots

  3. 依次选择快照、ActionsCreate Image

  4. Create Image from EBS Snapshot 对话框中,填写与创建 AMI 相关的字段,然后选择 Create。如果要重新创建父实例,请选择与父实例相同的选项。

    • Architecture:对 32 位选择 i386,对 64 位选择 x86_64

    • Root device name:输入相应的根卷名称。有关更多信息,请参阅Linux 实例上的设备名称

    • Virtualization type:选择是从此 AMI 使用半虚拟化 (PV) 还是硬件虚拟机 (HVM) 虚拟化启动实例。有关更多信息,请参阅Linux AMI 虚拟化类型

    • (仅限 PV 虚拟化类型) Kernel IDRAM disk ID:从列表中选择 AKI 和 ARI。如果选择默认 AKI 或不选择 AKI,则您每次启动使用此 AMI 实例时,都必须指定 AKI。此外,如果默认 AKI 与实例不兼容,对您的实例进行的运行状况检查可能会失败。

    • (可选)Block Device Mappings:添加卷或扩展 AMI 根卷的默认大小。有关调整实例上的文件系统大小以扩展卷的更多信息,请参阅调整卷大小后扩展 Linux 文件系统

Amazon CLI

使用命令行从快照创建 AMI

您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

从您创建的 AMI 启动实例

您可以从通过实例或快照创建的 AMI 启动实例。

从 AMI 启动实例

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,在映像下选择 AMI

  3. 将筛选条件设置为我拥有的,然后选择您的 AMI。

  4. 选择 Launch instance from AMI(从 AMI 启动实例)(新控制台)或 Actions(操作)、Launch(启动)(旧控制台)。

  5. 在启动实例向导中接受默认值或指定自定义值。有关更多信息,请参阅使用新启动实例向导启动实例