Amazon Elastic Compute Cloud
Linux 实例用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

创建 Amazon EBS 支持的 Linux AMI

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

下述过程适用于由加密的 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 支持的 AMIs 的概述

首先,从类似于您要创建的 AMI 的 AMI 启动实例。您可以连接到您的实例并进行自定义。正确配置实例后,通过在创建 AMI 和映像之前停止实例来确保数据完整性。当您创建 Amazon EBS 支持的 AMI 时,我们会自动为您注册它。

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

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

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

该过程完成之后,您便具有从实例的根卷创建的新 AMI 和快照。当您使用新 AMI 启动实例时,我们会使用快照为其根卷创建新 EBS 卷。

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

注意

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

从实例创建 Linux AMI

可以使用 AWS 管理控制台或命令行创建 AMI。下图总结了从正在运行的 EC2 实例创建 Amazon EBS 支持的 AMI 的过程。从现有 AMI 开始,启动一个实例,自定义该实例,从该实例创建新 AMI,并最终启动新 AMI 的实例。下图中的步骤与下面的过程中的步骤匹配。

从实例创建 AMI 的工作流程

使用控制台从实例创建 AMI

  1. 选择一个适当的 EBS 支持的 AMI 作为新 AMI 的起点,并在启动前根据需要对其进行配置。有关更多信息,请参阅 使用启动实例向导启动实例

  2. 选择 Launch 以启动您选择的由 EBS 支持的 AMI 实例。接受默认值,以按向导逐步操作。有关更多信息,请参阅 使用启动实例向导启动实例

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

    • 安装软件和应用程序

    • 复制数据

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

    • 附加其他 Amazon EBS 卷

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

  5. 在导航窗格中,选择 Instances,选择您的实例,然后选择 ActionsImageCreate Image

    提示

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

  6. Create Image 对话框中,指定以下信息,然后选择 Create Image

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

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

    • No reboot – 默认情况下不选择该选项。Amazon EC2 关闭实例,创建任何附加的卷的快照,创建并注册 AMI,然后重新启动实例。选择 No reboot 可避免将实例关闭。

      警告

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

    • Instance Volumes – 这部分中的字段使您可以修改根卷,添加其他的 Amazon EBS 和实例存储卷。要了解每个字段的信息,可将光标暂停在每个字段旁的 i 图标上,以显示字段工具提示。下面列出了一些要点。

      • 要更改根卷的大小,请在 Volume Type 中找到 Root,对于 Size (GiB),键入所需的值。

      • 如果选择 Delete on Termination,则当您终止从此 AMI 创建的实例时,将删除 EBS 卷。如果取消选择 Delete on Termination,则当您终止实例时,不会删除 EBS 卷。

        注意

        Delete on Termination 确定是否删除 EBS 卷;此操作不影响实例或 AMI。

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

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

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

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

  8. 从新 AMI 启动实例。有关更多信息,请参阅 使用启动实例向导启动实例

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

使用命令行从实例创建 AMI

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

从快照创建 Linux AMI

如果您有实例的根设备卷的快照,则可以使用 AWS 管理控制台或命令行从此快照创建 AMI。

重要

某些 Linux 分配 (如 Red Hat Enterprise Linux (RHEL) 和 SUSE Linux Enterprise Server (SLES)) 使用与 AMI 关联的 Amazon EC2 billingProduct 代码来验证程序包更新的订阅状态。从 EBS 快照创建 AMI 不会保留此账单代码,并且从此类 AMI 启动的后续实例不能连接到程序包更新基础设施。

同样,虽然您可以从快照中创建一个 Windows AMI,但是您不能从该 AMI 中成功启动实例。

一般来说,AWS 不建议从快照手动创建 AMIs。

有关创建 Windows AMIs 或创建必须保持 AMI 账单代码正常工作的适用于 Linux 操作系统的 AMIs 的更多信息,请参阅从实例创建 Linux AMI

使用控制台从快照创建 AMI

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/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 文件系统

使用命令行从快照创建 AMI

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