对象存储归档层与最小存储期
低频成本层用于长期保存备份:用更低的单价换取两个约束——取回需要时间,且有最短存储期。最短存储期意味着即使只存了几天就删除,多数平台仍按剩余天数计费,所以短期数据放进深度归档层反而更贵。选择层级的关键不是单价,而是恢复演练要求的 RTO。
基本信息
| 适用平台 | AWS S3 存储类;阿里云 OSS 存储类型;其他兼容实现有类似分层 |
|---|---|
| 取回机制 | 按对象发起 restore,生成有期限的临时副本后可读 |
| 计费要点 | 最小存储期、取回请求与数据取出费、提前删除的剩余费用 |
| 层级选择 | 按恢复演练要求的响应时间倒推,而不是按单价排序 |
典型使用场景
- 年度归档:合规要求保存数年的备份放深度归档层
- 成本优化:把 90 天以上不再访问的数据从标准层迁移到归档层
- 演练取回验证:定期 restore 若干对象,确认归档层数据可读
- 离线保护的替代方案:写入后不可修改的对象锁定配合归档保存
- 跨层级混放:热备副本留在标准层,历史副本转入归档层
常见归档层速查
| 层级 | 最小存储期 | 取回体验 |
|---|---|---|
| S3 Glacier Instant Retrieval | 90 天 | 毫秒级读取,适合偶发但要求快的访问 |
| S3 Glacier Flexible Retrieval | 90 天 | 分钟到数小时,标准取回通常约 3-5 小时 |
| S3 Glacier Deep Archive | 180 天 | 小时级,标准取回自约 12 小时起 |
| OSS 归档存储 | 60 天 | 需先解冻后读取 |
| OSS 冷归档/深度冷归档 | 180 天 | 需先解冻,时间更长 |
归档与取回
归档与取回
# 上传时直接指定归档层
aws s3 cp /backup/db.dump s3://my-bucket/archive/db.dump \
--storage-class DEEP_ARCHIVE
# 或对已有对象转层
aws s3api copy-object --bucket my-bucket --key archive/db.dump \
--copy-source my-bucket/archive/db.dump --storage-class GLACIER
# 取回:先 restore 出临时副本,再下载
aws s3api restore-object --bucket my-bucket --key archive/db.dump \
--restore-request Days=7
aws s3api head-object --bucket my-bucket --key archive/db.dump # 查看 restore 进度最小存储期未满就删除,多数平台仍按剩余天数计费;归档对象在 restore 完成前无法直接下载。两个约束叠加起来,会让『先归档再紧急恢复』的成本与时间双双超出预期。