Autoclass 功能会根据存储桶中每个对象的访问模式自动将对象转换为适当的存储类别。此功能会将未被访问的数据转移到较冷的存储类别以降低存储费用,并将被访问的数据移至 Standard Storage 以优化未来的访问。Autoclass 可帮助您简化并自动实现 Cloud Storage 数据的费用节省。
概览
启用 Autoclass 后,它会管理存储桶存储类别的所有方面:
存储桶中添加的所有对象一开始都在 Standard Storage 中,即使请求中指定了不同的存储类别也是如此。
存储桶本身始终会将其默认存储类别设置为 Standard Storage,尝试将此属性更改为其他存储类别的请求会失败。
如果您尝试在重写或复制操作期间手动更改对象的存储类别,则整个操作会成功。但是,存储类别更改会被忽略,且对象始终设置为 Standard Storage。
如果大多数对象未被访问,则会逐步转换到较冷的存储类别。
默认情况下,Autoclass 的终端存储类别是 Nearline Storage,这意味着对象会转换到 Nearline Storage,并保留在该存储类别中,直到被访问为止。或者,您可以选择将 Autoclass 的终端存储类别配置为 Archive Storage。
小于 128 KiB 的对象不会转换到较冷的存储类别,而是永久存储在 Standard Storage 中。在确定对象是否小于 128 KiB 时,仅考虑对象数据,而不考虑对象元数据。
软删除的对象会将其现有存储类别一直保留到保留时长结束。
读取对象的数据时,如果对象尚未存储在 Standard Storage 中,则会转换到 Standard Storage。
- 读取或修改对象的元数据不会导致该对象转换为 Standard Storage。
价格
对于启用了 Autoclass 的存储桶,Cloud Storage 价格保持不变,但有以下例外:
- 系统永远不会收取检索费用。
- 永远不会产生提前删除费用。
- 所有操作均按 Standard Storage 费率计费。
- 当 Autoclass 将对象转换到更冷的存储类别时,不会产生操作费用。
- 当 Autoclass 将对象从 Nearline Storage 转换到 Standard Storage 时,不会产生 A 类操作费用。
- 当 Autoclass 将对象从 Coldline Storage 或 Archive Storage 转换到 Standard Storage 时,每次此类转换都会产生 A 类操作费用。
- 使用 Autoclass 时,您需要支付管理费和启用费用。
现有存储桶的 Autoclass
您可以为现有存储桶启用、停用或修改 Autoclass 配置。
对 Autoclass 配置的更改最长可能需要一天才会生效,在此期间,Cloud Storage 可能会继续根据先前的配置执行操作。
在现有存储桶上启用 Autoclass 时,会发生以下情况:
存储桶中的所有对象(软删除的对象除外)都会转换到 Standard Storage。
您在启用 Autoclass 时已位于 Standard Storage 中的对象会被视为刚转换到 Standard Storage。因此,此类对象需要额外的 30 天的访问权限才能转换到 Nearline Storage。
需要支付一次性 Autoclass 启用费用。如需了解详情,请参阅 Autoclass 费用。
在现有存储桶上停用 Autoclass 时,会发生以下情况:
- 每个对象都会存储在停用 Autoclass 时的任意存储类别中。随后,您可以更改对象的存储类别,就像更改非 Autoclass 存储桶一样。
- Autoclass 价格结构不再适用。
- 一天之内无法在存储桶中重新启用 Autoclass。尝试执行此操作失败。
更改 Autoclass 配置中的终端存储类别时,会发生以下情况:
如果将终端存储类别从 Archive Storage 更改为 Nearline Storage,则在更改时 Archive Storage 和 Coldline Storage 中的对象会转换到 Nearline Storage。
如果将终端存储类别从 Nearline Storage 更改为 Archive Storage,则在更改时 Nearline Storage 中的对象会被视为刚转换到 Nearline Storage。因此,此类对象需要额外的 60 天的访问权限才能转换到 Coldline Storage。
您应该使用 Autoclass 吗?
Autoclass 可减少您的数据管理工作量,并免除适用于其他存储桶的某些费用。对于以下访问模式,Autoclass 功能非常实用:
- 数据具有各种访问频率。
- 数据访问模式未知或不可预测。
但是,如果存储桶的大部分数据都符合特定存储类别的使用场景,则不建议使用 Autoclass。例如,假设您的存储桶有两种使用场景:有些数据每周被访问一次,而有些数据是不应被访问的备份数据。在这种情况下,如果您知道哪些对象属于哪个使用场景,则不建议使用 Autoclass。
如果其他 Google Cloud 服务定期从存储桶读取数据,也不建议使用 Autoclass。例如,如果您使用敏感数据保护来扫描存储桶的内容,则不建议使用 Autoclass。
转换行为
启用 Autoclass 后,对象在存储类别之间至少达到 128 KiB 的大小转换,如下所示:
如果对象的数据被访问,对象将转换为 Standard Storage。
30 天内未被访问的所有对象会转换为 Nearline Storage。
如果存储桶配置为使用 Nearline Storage 作为终端存储类别,则仅当存储在 Nearline Storage 中的对象被访问时,Autoclass 才会更改该对象的状态。
如果存储桶配置为使用 Archive Storage 作为终端存储类别,则对象会按如下所述继续转换到更冷的存储类别:
90 天内未被访问的所有对象会转换为 Coldline Storage。这些对象至少在 Standard Storage 中存储了 30 天,在 Nearline Storage 中存储了 60 天。
365 天内未被访问的所有对象会转换为 Archive Storage。这些对象至少在 Standard Storage 中存储了 30 天,在 Nearline Storage 中存储了 60 天。在 Coldline Storage 中存储了 275 天。
只有当存储在 Archive Storage 中的对象被访问时,Autoclass 才会更改该对象的状态。
对象符合存储类别之间转换的条件后,Cloud Storage 会异步执行转换,因此,对象符合转换条件与实际发生转换之间可能会有延迟。
- 在此期间,对象会继续使用转换前存储类别计费,除非转换到启用 Autoclass 而出现的 Standard Storage 的情况除外。
限制
存储桶不能既启用 Autoclass,同时又在对象生命周期管理配置中使用以下规则之一:
- 使用
SetStorageClass
操作的规则。 - 使用
matchesStorageClass
条件的规则。
如果请求会导致存储桶同时启用 Autoclass 和使用这些对象生命周期管理规则之一,则该请求会失败。
- 使用
由于对象复合要求源对象和复合的对象都使用相同的存储类别,因此,除非在发出复合请求时所有源对象都存储为 Standard Storage,否则复合 Autoclass 存储桶中的对象的操作会失败。
监控存储类别用量和转换
Monitoring 中提供以下存储指标用于跟踪存储类别转换:
autoclass/transition_operation_count:由 Autoclass 发起的存储类别转换次数,不包括启用 Autoclass 的过程中发生的转换。
autoclass/transitioned_bytes_count:Autoclass 转换的字节总数,不包括启用 Autoclass 的过程中转换的字节数。
(可选)这两个指标可以按转换中涉及的来源或目标存储类别进行分组。
如需查看使用 Monitoring 跟踪指标的指南,请参阅使用 Metrics Explorer 创建图表。
此外,您可以通过转到 Google Cloud 控制台中存储桶的配置选项卡并点击查看性能,监控启用 Autoclass 的存储桶随时间推移存储在每个存储类别中的字节数。
后续步骤
- 启用 Autoclass。
- 了解对象生命周期管理。