使用 S3 存储和还原 AMI - Amazon Elastic Compute Cloud

使用 S3 存储和还原 AMI

您可以将亚马逊机器映像(AMI)存储在 Amazon S3 存储桶中、将 AMI 复制到另一个 S3 存储桶,然后从 S3 存储桶还原它。通过使用 S3 存储桶存储和还原 AMI,您可以将 AMI 从一个 AWS 分区复制到另一个分区,例如,从主商业分区到 AWS GovCloud (US) 分区。您还可以通过将 AMI 存储在 S3 存储桶中为其创建存档副本。

支持使用 S3 存储和还原 AMI 的 API 是 CreateStoreImageTaskDescribeStoreImageTasksCreateRestoreImageTask

CopyImage 是推荐用于在 AWS 分区复制 AMI 的 API。但是,CopyImage 无法将 AMI 复制到另一个分区。

有关 AWS 分区的信息,请参阅 IAM 用户指南Amazon 资源名称(ARN)页面上的分区

警告

在 AWS 分区或 AWS 区域之间移动数据时,请确保遵守所有适用法律和业务要求,包括但不限于任何适用的政府法规和数据驻留要求。

用例

使用存储和还原 API 执行以下操作:

在 AWS 分区之间复制 AMI

通过使用 S3 存储桶存储和还原 AMI,您可以将 AMI 从一个 AWS 分区复制到另一个分区,或从一个 AWS 区域复制到另一个区域。在以下示例中,您可将 AMI 从主商业分区复制到 AWS GovCloud (US) 分区,尤其是从 us-east-2 区域复制到 us-gov-east-1 区域。

要将 AMI 从一个分区复制到另一个分区,请执行以下步骤:

  • 使用 CreateStoreImageTask 将 AMI 存储在当前区域内的 S3 存储桶中。在此示例中,S3 存储桶位于 us-east-2 中。

  • 使用 DescribeStoreImageTasks 监控存储任务的进度。任务完成后,对象将在 S3 存储桶中可见。

  • 使用您选择的程序将存储的 AMI 对象复制到目标分区中的 S3 存储桶。在此示例中,S3 存储桶位于 us-gov-east-1 中。

    注意

    由于每个分区均需要不同的 AWS 凭证,因此无法将 S3 对象从一个分区直接复制到另一个分区。跨分区复制 S3 对象的过程不在本文档的讨论范围之内。我们提供以下复制过程作为示例,但您必须使用符合安全要求的复制过程。

    • 要跨分区复制某一 AMI,复制过程可能非常简单,如下所示:从源存储桶下载对象到中间主机(例如,EC2 实例或笔记本电脑),然后从中间主机上传对象到目标存储桶。对于该过程的每个阶段,请对分区使用 AWS 凭证。

    • 要实现更持久的使用,请考虑开发一个管理副本的应用程序(可能使用 S3 分段下载和上传)。

  • 使用 CreateRestoreImageTask 从目标分区中的 S3 存储桶还原 AMI。在此示例中,S3 存储桶位于 us-gov-east-1 中。

  • 通过对需要检查其状态何时变为可用的 AMI 进行描述来监控还原任务的进度。您还可以通过描述快照来监控构成所还原 AMI 的快照的进度百分比。

制作 AMI 的存档副本

您可以通过将 AMI 存储在 S3 存储桶中为其创建存档副本。AMI 被打包到 S3 内的单个对象中,所有 AMI 元数据(不包括共享信息)都作为存储 AMI 的一部分得到保留。AMI 数据将作为存储流程的一部分进行压缩。由于 AMI 包含可轻松压缩的数据,因此 S3 中的对象较小。为了降低成本,您可以使用更便宜的 S3 存储套餐。有关更多信息,请参阅 Amazon S3 存储类Amazon S3 定价

限制

  • 要存储 AMI,您的 AWS 账户必须拥有该 AMI 及其快照的所有权,或者该 AMI 及其快照必须直接与您的账户共享。如果 AMI 仅公开共享,则无法存储。

  • 使用这些 API 只能存储由 EBS 支持的 AMI。

  • 不支持半虚拟化 (PV) AMI。

  • 可存储的 AMI 的大小(压缩前)限制为 5,000 GB。

  • 存储映像请求的限额:600 GB 的存储工作(快照数据)正在进行中。

  • 还原映像请求的限额:300 GB 的还原工作(快照数据)正在进行中。

  • 在存储任务的持续时间内,不得删除快照,执行存储的 IAM 委托人必须有权访问快照,否则存储流程将会失败。

  • 您不能在同一 S3 存储桶中创建 AMI 的多个副本。

  • 存储在 S3 存储桶中的 AMI 无法使用其原始 AMI ID 进行还原。您可以使用 AMI 别名来缓解这种情况。

  • 目前,仅支持使用 AWS Command Line Interface、AWS 开发工具包和 Amazon EC2 API 存储和还原 API。您无法使用 Amazon EC2 控制台存储和还原 AMI。

成本

使用 S3 存储和还原 AMI 时,您需要为存储和还原 API 使用的服务以及数据传输付费。API 使用 S3 和 EBS Direct API(由这些 API 在内部使用以访问快照数据)。有关更多信息,请参阅 Amazon S3 定价Amazon EBS 定价