对象存储选型的核心是让冷热数据各取所需、按用量买单。华为云 OBS 提供标准、低频、归档、深度归档四档存储类型,单价随访问频度递减;选错档位最直接的后果是综合成本翻倍——要么为冷数据付高价、要么为热数据付取回费。下面把分层逻辑、计费项、选型清单一次性讲透。
OBS 在华为云存储体系里的位置
OBS 是面向非结构化数据的对象存储服务,常被用来存图片、音视频、日志、备份、归档影像。配合 CDN、ECS、大数据服务可以拼出静态网站托管、基因测序、视频监控、海量日志分析等场景。它的核心定位是”海量数据 + HTTP 访问 + 生命周期管理”,不是块存储,不适合直接挂载到操作系统当数据库盘用。
6 维关键对比:四档存储类型
| 维度 | 标准存储 | 低频访问存储 | 归档存储 | 深度归档存储 |
|---|---|---|---|---|
| 单价量级 | 最高 | 中等 | 较低 | 最低 |
| 最低存储时间 | 不限 | 30 天 | 90 天 | 180 天 |
| 取回速度 | 立即 | 立即 | 加急分钟级 / 标准小时级 | 加急小时级 / 标准半天级 |
| 适用访问频率 | 月访问多次 | 季度访问 | 年度访问 | 几乎不访问 |
| 典型场景 | 云应用、热点资源 | 企业备份、监控数据 | 档案、医疗影像 | 长期合规留存 |
| 取回费用 | 无 | 无 | 加急档有 | 加急档有 |
四档之间的差异不是”贵 vs 便宜”,而是”为访问速度付多少钱”。标准存储适合”随时要取”,深度归档适合”取一次要等半天”。
选型的三条判断原则
- 访问频率:每月访问超过一次走标准,季度访问走低频,年度访问走归档,几乎不访问走深度归档;
- 取回延迟要求:实时取回选标准或低频,可容忍小时级选归档,可容忍半天级选深度归档;
- 合规保留期:有 5 年以上合规保留要求但日常不读的数据,归档是性价比突出的档位。
选型决策表
| 业务场景 | 建议档位 | 关键理由 |
|---|---|---|
| 网站静态资源、APP 头像 | 标准存储 | 访问频繁,要求毫秒级取回 |
| 用户上传视频源文件 | 低频或归档 | 30 天后回看率断崖式下降 |
| 监控视频 30 天后留存 | 归档或深度归档 | 取回延迟可接受,存储成本敏感 |
| 医疗影像 5 年合规存档 | 归档 | 长期保存 + 合规审计需要 |
| 大模型训练语料 | 标准或低频 | 训练阶段密集读取,训练完转低频 |
计费的三大组成部分
OBS 的账单由存储容量、请求次数、公网流出流量三部分组成。任一项失控都会让总成本显著偏离预期。
| 计费项 | 计费口径 | 失控表现 | 控制手段 |
|---|---|---|---|
| 存储容量费用 | 按实际占用的 GB 数与对应档位单价计算 | 选了高单价档存冷数据 | 用生命周期自动下沉到低单价档 |
| 请求次数费用 | 按 PUT/LIST/GET 等接口次数计费 | 高频小对象写入放大费用 | 合并写入、减少碎片化对象 |
| 公网流出流量 | 闲时与忙时单价不同 | 跨 Region 读 + 大对象下载 | 搭配 CDN、就近读取、压缩传输 |
内网或 VPC 内的 OBS 访问不计流出流量,所以 ECS 与 OBS 之间的读写几乎只算存储与请求,这是把”同 Region 计算集群 + OBS”放在一起设计架构的核心原因。
生命周期管理:让冷数据自动下沉
OBS 的生命周期规则可以按前缀或标签,把超过 N 天的对象自动从标准转低频、再转归档甚至深度归档,不需要业务层介入。
lifecycle_rule:
name: auto-tiering
prefix: logs/
status: Enabled
transitions:
- days: 30
storage_class: WARM # 标准 -> 低频
- days: 180
storage_class: COLD # 低频 -> 归档
- days: 1095
storage_class: DEEP_ARCHIVE # 归档 -> 深度归档
expiration:
days: 2555 # 7 年后自动删除
启用生命周期前先把桶的多版本配置想清楚:多版本开启后每次覆盖上传都会保留旧版本,存储费用会成倍增加;不需要多版本就直接关闭,避免”以为删了其实还在”的隐性成本。
计费模式:按需 vs 资源包
OBS 提供按需计费与资源包两种付费方式。资源包按存储容量预购,适合稳定可预测的容量;按需适合波动大、临时性的需求。
| 计费模式 | 适用情况 | 计费特点 |
|---|---|---|
| 按需计费 | 临时项目、突发流量 | 用多少付多少,月初清零 |
| 标准存储单 AZ 包 | 稳定标准存储 | 预付折扣明显 |
| 标准存储多 AZ 包 | 高可用要求 | 同等容量价格更高 |
| 低频/归档资源包 | 长期冷数据 | 折扣幅度大 |
常见做法是把可预测的”基线容量”买成资源包,把波动的”溢出部分”走按需,两者结合既不会浪费也不会在突发时账单爆掉。
权限与安全控制
OBS 的安全机制围绕桶策略、IAM、ACL 与 KMS 展开。桶策略用 JSON 描述谁可以对哪些资源做什么操作;IAM 适合账号级粒度的统一管理;ACL 适合单对象的精细控制。敏感数据建议全程开启服务端加密,密钥由 KMS 统一管理并启用密钥轮换。传输侧启用 HTTPS + 强制 TLS 1.2 以上版本,对公网开放的桶一定要关闭”匿名访问”避免数据外泄。
{
"Statement": [
{
"Effect": "Allow",
"Action": ["obs:object:GetObject"],
"Resource": ["OBS:bucket-static/*"],
"Condition": {
"IpAddress": {"acs:SourceIp": ["192.168.0.0/16"]}
}
}
]
}
性能与扩展性
OBS 单流上传下载可达 Gbit/s 级别,通过小对象聚合与多线程并行进一步压榨带宽;TPS 在集群规格下可达千万级。单桶可管理的对象数达千亿级,整体容量无上限,按用量线性扩展。性能层面的关键不是”桶有多大”,而是”前缀是否过热”,前缀的请求分布会直接影响元数据访问效率,常见做法是给热前缀做哈希分桶或在业务层做散列。
易踩的坑与最佳实践
坑一是把 OBS 当数据库盘用。OBS 没有随机写语义,频繁更新的小对象会让请求费用远高于存储费用。坑二是只盯存储单价,忽视请求与流量费用,结果冷数据看起来便宜、被取回后流量费用反而吞掉了所有节省。坑三是跨 Region 复制时把标准档直接同步到另一 Region,源端归档后目标端却还是标准档,存储费用没真正降下来。最佳实践是”分层清晰、生命周期可观测、桶策略最小权限”,每条原则都对应一项可量化的成本或安全指标。
到这里,OBS 的 4 档存储、6 维对比、3 条判断原则、3 大计费项、生命周期、计费模式、权限与坑点就完整了。核心是看”访问频度 + 取回延迟 + 保留期”——而不是先选便宜的档。
常见问题(FAQ)
Q1:标准存储和低频存储的最低存储时间差异有多大?
标准存储不限时长,低频访问存储最低 30 天,提前删除会按 30 天补足费用。
Q2:归档存储取回时只能等几小时吗?
可以选加急取回或标准取回,加急档位会产生额外取回费用。
Q3:OBS 桶是否需要绑定 KMS 密钥?
强烈建议。开启服务端加密后即便存储介质泄露也无法解读数据,加密成本极低、合规收益很高。