Amazon Simple Storage Service
开发人员指南 (API Version 2006-03-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

转换对象:一般注意事项

您可以在生命周期配置中添加规则以指示 Amazon S3 将对象转换为另一个 Amazon S3 存储类。例如:

  • 当您知道某些对象不常访问时,您可能将其转换为 STANDARD_IA 存储类。

  • 您可能想要将不需要实时访问的对象存档到 GLACIER 存储类。

以下各节介绍了受支持的转换、相关限制和到 GLACIER 存储类的转换。

受支持的转换和相关限制

在生命周期配置中,您可以定义将对象从一个存储类别转换为另一个存储类别的规则。下面是支持的转换:

  • 从 STANDARD 或 REDUCED_REDUNDANCY 存储类别到 STANDARD_IA。以下限制适用:

     

    • 对于较大的对象,转换为 STANDARD_IA 具有成本效益。Amazon S3 不会将大小小于 128 KB 的对象转换为 STANDARD_IA 存储类别。对于较小的对象,这样做没有成本效益,Amazon S3 将不会转换它们。

       

    • 必须在当前存储类别中将对象存储至少 30 天。然后才能将对象转换为 STANDARD_IA。例如,您无法创建在对象创建 1 天后将其转换为 STANDARD_IA 存储类别的生命周期规则。

       

      不支持在第一个 30 天之前的转换,因为较新的对象的访问频率或删除速度通常高于 STANDARD_IA 应有的值。

       

    • 如果您在转换非当前对象 (受版本控制的存储桶方案),则只能将至少在 30 天内是非当前版本的对象转换为 STANDARD_IA。

       

  • 从任何存储类别到 GLACIER。

您可以组合这些生命周期规则以管理对象的整个生命周期,包括到 STANDARD_IA 的第一种转换、到 GLACIER 的用于存档的第二种转换以及过期。

例如,假设您创建了具有明确定义的生命周期的对象。最初,这些对象在 30 天的周期内可能被经常访问。在最初一段时间过后,访问的频率降低了,这些对象不常被访问的时间段增加到长达 90 天。之后,便不再需要这些对象。您可以选择存档或删除它们。您可以使用生命周期配置定义与此示例方案匹配的对象的转换和过期 (在创建 30 天后转换到 STANDARD_IA,在创建 90 天后转换到 GLACIER,并可能在一定天数后使它们过期)。由于您在转换中降低了对象的存储类别,因此可以获益于存储成本节省。有关成本考虑的更多信息,请参阅 Amazon S3 定价

注意

在配置生命周期时,API 不允许您创建在其中指定 STANDARD_IA 和 GLACIER 转换 (GLACIER 转换在 STANDARD_IA 转换后的 30 天内进行) 的生命周期策略。这种生命周期策略可能会因为与 STANDARD_IA 存储类关联的最低 30 天存储费而增加成本。有关成本考虑的更多信息,请参阅 Amazon S3 定价

您可以将生命周期转换视为支持的存储类级别,这些级别提供了不同的成本和好处。出于节约成本考虑,您可以选择在对象的生命周期内将对象转换为另一个存储类 - 生命周期配置可让您执行此操作。例如,要管理存储成本,您可能会配置生命周期以将对象的存储类从 STANDARD (可用性和持久性最高的存储类) 更改为 STANDARD_IA (IA 即不常访问),然后更改为 GLACIER 存储类 (其中的对象将被存档并且仅在您还原它们后才可用)。这些转换可以降低您的存储成本。

以下转换不受支持:

  • 您无法从 STANDARD_IA 存储类转换为 STANDARD 或 REDUCED_REDUNDANCY 类。

  • 您无法从 GLACIER 转换为任何其他存储类。

  • 您无法从任何存储类转换为 REDUCED_REDUNDANCY。

转换为 GLACIER 存储类 (对象存档)

通过生命周期配置,可以将对象转换为 GLACIER 存储类,也就是将数据存档到 Amazon Glacier (一个成本较低的存储解决方案)。在存档对象之前,请查看以下章节中的相关注意事项。

一般注意事项

下面是存档对象之前的一般注意事项:

  • GLACIER 存储类中的对象无法实时提供。

     

    存档的对象是 Amazon S3 对象,但在您可以访问某个存档的对象之前,您必须先还原它的临时副本。根据您在恢复请求内指定的持续时间,恢复的对象副本仅在该期间内可用。在此之后,Amazon S3 会删除临时副本,而对象仍在Amazon Glacier 中存档。

     

    请注意,从存档中还原对象最多可能需要 5 小时的时间。

     

    您可以使用 Amazon S3 控制台还原对象,也可以在代码中使用 AWS 开发工具包包装程序库或 Amazon S3 REST API 以编程方式还原对象。有关更多信息,请参阅 POST 对象还原

     

  • 对象到 GLACIER 存储类的转换是单向的。

     

    您无法使用生命周期配置规则将对象的存储类从 GLACIER 转换为 STANDARD 或 REDUCED_REDUNDANCY。如果要将已存档对象的存储类更改为 STANDARD 或 REDUCED_REDUNDANCY,您必须首先使用还原操作制作一个临时副本。然后使用复制操作将对象覆盖为 STANDARD、STANDARD_IA 或 REDUCED_REDUNDANCY 对象。

     

  • GLACIER 存储类对象只能通过 Amazon S3 (而不能通过 Amazon Glacier) 查看和使用。

     

    Amazon S3 会将已存档对象存储在 Amazon Glacier 中。但是,这些对象是 Amazon S3 对象,您只能通过使用 Amazon S3 控制台或 Amazon S3 API 访问它们。您无法通过 Amazon Glacier 控制台或 Amazon Glacier API 访问这些已存档对象。

与成本相关的注意事项

如果您计划在数月或数年的时间内存档不经常访问的数据,则 GLACIER 存储类通常可降低您的存储成本。但是,您应考虑以下事项以确保 GLACIER 存储类适合于您:

  • 存储开销费用 - 将对象转换为 GLACIER 存储类时,需向每个对象添加固定存储量以容纳用于管理对象的元数据。

     

    • 对于存档到 Amazon Glacier 的每个对象,Amazon S3 将 8 KB 存储用于对象和其他元数据的名称。Amazon S3 将存储此元数据,以便您可以使用 Amazon S3 API 获取已存档对象的实时列表。有关更多信息,请参阅 Get Bucket (List Objects)。将按照标准 Amazon S3 费率对此附加存储收费。

       

    • 对于每个存档对象,Amazon Glacier 添加 32 KB 的存储用于索引及相关元数据。标识和还原对象需要此额外数据。将按照 Amazon Glacier 费率对此附加存储收费。

       

    如果您打算存档小对象,请考虑这些存储费用。还可以考虑将大量小型对象合并为少量大型对象,以便减少开销成本。

     

  • 计划存档对象的天数 - Amazon Glacier 是长期存档解决方案。如果删除的对象存档三个月或更长时间,则删除存档到 Amazon Glacier 的数据是免费的。如果在存档的三个月内删除或覆盖对象,则 Amazon S3 将收取按比例计算的提早删除费。

     

  • Glacier 存档请求费用 - 每个转换为 GLACIER 存储类的对象都构成一个存档请求。每个这类请求都有成本。如果您计划转换大量对象,则考虑这些请求费用。

     

  • Glacier 数据还原费用 – Amazon Glacier 旨在用于长期存档您不经常访问的数据。有关数据还原费用的信息,请参阅从 Glacier 检索数据的成本是多少? (在 Amazon S3 常见问题中)。有关如何从 Glacier 还原数据的信息,请参阅恢复存档对象

当通过使用对象生命周期管理将对象存档到 Amazon Glacier 时,Amazon S3 会异步转换这些对象。生命周期配置规则中的转换日期与实际转换日期之间可能存在延迟。收取的 Amazon Glacier 价格基于此规则中指定的转换日期。

Amazon S3 产品详细信息页面针对存档 Amazon S3 对象提供了定价信息和示例计算。有关更多信息,请参阅以下主题:

恢复存档对象

已存档对象无法实时访问。您必须首先启动恢复请求,然后耐心等待,直到对象的临时副本根据您在请求中指定的持续时间变为可用。还原作业通常会在 3 至 5 个小时内完成,因此仅存档无需实时访问的对象,这一点非常重要。

在收到已还原对象的临时副本后,此对象的存储类仍保持为 GLACIER (GET 或 HEAD 请求将返回 GLACIER 作为存储类)。

注意

请注意,还原某个存档时,您需要同时为存档 (GLACIER 费率) 和临时还原的副本 (REDUCED_REDUNDANCY 存储费率) 付费。有关定价的信息,请参阅 Amazon S3 定价

您可以采用编程方式或使用 Amazon S3 控制台还原对象副本。Amazon S3 针对每个对象每次仅处理一个还原请求。有关更多信息,请参阅 恢复存档对象