创建由实例存储支持的 Linux AMI - Amazon Elastic Compute Cloud

创建由实例存储支持的 Linux AMI

您在启动实例时指定的 AMI 决定根设备卷的类型

要创建由实例存储支持的 Linux AMI,请通过从由实例存储支持的现有 Linux AMI 启动的实例开始进行。根据您自己的需要自定义该实例之后,请捆绑卷并注册新 AMI,您可以使用该 AMI 启动具有这些自定义项的新实例。

重要

只有以下实例类型支持将实例存储卷作为根设备:C3、D2、G2、I2、M3 和 R3。

用于 Amazon EBS-backed AMI 的 AMI 创建过程有所不同。有关 Amazon EBS 支持的实例和实例存储支持的实例之间的差别,以及如何确定实例的根设备类型的更多信息,请参阅根设备存储。如果您需要创建 Amazon EBS 支持的 Linux AMI,请参阅创建一个由 Amazon EBS 支持的 Linux AMI

由实例存储支持的 AMI 的创建过程概述

下图总结了从由实例存储支持的实例创建 AMI 的过程。


				创建由实例存储支持的 AMI。

首先,从类似于您要创建的 AMI 的 AMI 启动实例。您可以连接到您的实例并进行自定义。根据您的需要设置好实例后,您可以捆绑它。完成捆绑过程需要几分钟的时间。该过程完成之后,您会得到一个捆绑,该捆绑由映像清单 (image.manifest.xml) 以及包含根卷模板的文件 (image.part.xx) 组成。接下来,将该捆绑上传到 Amazon S3 存储桶,然后注册您的 AMI。

注意

要将对象上载到实例存储支持的 Linux AMI 的 S3 存储桶,必须为该存储桶启用 ACL。否则,Amazon EC2 将无法在要上载的对象上设置 ACL。如果您的目标存储桶使用存储桶拥有者强制执行的 S3 对象所有权设置,则这将不起作用,因为 ACL 已禁用。有关更多信息,请参阅使用 S3 对象所有权控制已上载对象的所有权

当您使用新 AMI 启动实例时,我们会使用您上传到 Amazon S3 的捆绑为实例创建根卷。Amazon S3 中的捆绑使用的存储空间会使您的账户产生费用,直到将其删除。有关更多信息,请参阅注销您的 AMI

如果除了根设备卷之外,您还向实例添加实例存储卷,则新 AMI 的块储存设备映射包含这些卷的信息,并且您从新 AMI 启动的实例的块储存设备映射自动包含这些卷的信息。有关更多信息,请参阅块设备映射

先决条件

必须先完成以下任务才能创建 AMI:

  • 安装 AMI 工具。有关更多信息,请参阅设置 AMI 工具

  • 安装 AWS CLI。有关更多信息,请参阅开始设置 AWS Command Line Interface

  • 请确保您具有用于捆绑的 S3 存储桶,并且您的存储桶已启用 ACL。有关配置 ACL 的更多信息,请参阅 配置 ACL

    • 要使用 AWS Management Console创建 S3 存储桶,请打开 Amazon S3 控制台(地址为 https://console.aws.amazon.com/s3/),然后选择创建存储桶

    • 要使用 AWS CLI 创建 S3 存储桶,请使用 mb 命令。如果您安装的 AMI 工具版本为 1.5.18 或更高版本,则还可以使用 ec2-upload-bundle 命令创建 S3 存储桶。有关更多信息,请参阅ec2-upload-bundle

    注意

    我们要求使用 TLS 1.2,建议使用 TLS 1.3。客户端必须满足此要求才能从 Amazon Simple Storage Service(Amazon S3)下载。有关更多信息,请参阅 TLS 1.2 成为所有 AWS API 端点的最低 TLS 协议级别

  • 确保您拥有您的 AWS 账户 ID。有关更多信息,请参阅 AWS 一般参考 中的 AWS 账户标识符

  • 确保您拥有凭证以使用 AWS CLI。有关更多信息,请参阅《AWS Account Management 参考指南》中的 AWS 账户最佳实践

  • 确保您拥有 X.509 证书以及相应的私有密钥。

    • 如果您需要创建 X.509 证书,请参阅管理签名证书。X.509 证书和私有密钥用于加密和解密您的 AMI。

    • [中国(北京)] 使用 $EC2_AMITOOL_HOME/etc/ec2/amitools/cert-ec2-cn-north-1.pem 证书。

    • [AWS GovCloud(美国西部)] 使用 $EC2_AMITOOL_HOME/etc/ec2/amitools/cert-ec2-gov.pem 证书。

  • 连接到您的 实例并对其进行自定义。例如,您可以安装软件和应用程序、复制数据、删除临时文件及修改 Linux 配置。