阿里云存储包含几类产品,它们按数据的访问方式分工。选型前先弄清应用怎么读写数据,再决定用哪一类。可以先问自己三个问题:应用是按路径读写文件,还是通过接口存取对象?是否有多台机器需要同时访问同一份数据?是否需要挂载块级磁盘?答案基本能对应到下面的某一类。

- 对象存储 OSS:数据以 Bucket 为单位组织,通过 HTTP 接口读写。图片、视频、日志和备份这类非结构化数据放这里最合适。
- 文件存储 NAS:支持 NFS 和 SMB 协议,多台服务器可以同时挂载同一个目录。共享代码、共享文档,或从传统文件服务器迁过来的应用,用它改动最小。
- 块存储 ESSD/EBS:作为块设备挂到单台云服务器上,系统盘和数据库数据盘一般用它。
对象存储 OSS 的成本主要看两处
OSS 不需要提前规划容量,写入多少算多少,所以内容平台、视频网站和数据湖常把它当底座。账单上的大头通常来自两个地方:存储类型选错,以及生命周期规则没配或没生效。
存储类型怎么选
- 标准存储:放频繁访问的热数据,比如正在线上展示的图片和视频。
- 低频访问:访问不多,但随时可能要读,比如三个月前的历史订单附件。
- 归档与冷归档:用于备份和合规留存。读取前需要先解冻,适合几乎不调用的数据。
低频、归档和冷归档都有最短存储时长。数据在时长到期前被删除,系统仍按剩余时长收费。所以设置迁移规则前,先估计数据大概会保留多久,避免刚转入归档的文件很快又被删掉。
案例:素材库从自建 NAS 迁到 OSS
以下为示意场景,具体数字和做法需按实际项目替换。
一支十余人的内容团队原本把视频素材放在自建 NAS 上。素材越积越多,备份窗口越拉越长,外地同事打开原片也慢。团队把原始素材迁到 OSS 标准存储,并为 Bucket 配置了生命周期规则:超过 90 天没被访问的素材自动转入低频访问类型。成品视频通过 CDN 分发,CDN 回源到 OSS。
迁移后团队做了三件事。第一,按项目建立目录前缀,方便按项目统计用量。第二,对备份数据开启跨区域复制,满足灾备要求。第三,在监控里查每月的请求次数和外网流量,发现一个自动化脚本频繁读取元数据。改掉这个脚本后,请求费用随之降了下来。
文件存储和块存储不要混用
NAS 和 EBS 经常被混着用,但解决的问题不一样。多台机器要读写同一份文件时选 NAS;数据库和单机应用的系统盘、数据盘选 EBS。
有一个坑要提前避开:把对象存储直接当文件系统挂载。随机写入和文件锁的行为与普通磁盘不同,应用可能出现异常。如果业务依赖这些语义,应该使用 NAS。
上线前的安全与可靠性设置
- Bucket 默认设为私有读写。确需公开访问时,单独授权并限定范围,之后定期检查权限策略。
- 应用通过 RAM 子账号和 STS 临时凭证访问存储,代码里不要写入主账号的 AccessKey。代码一旦泄露,主账号密钥的影响范围最大。
- 开启版本控制,误删或误覆盖后还能找回旧版本。
- 关键数据开启服务端加密,密钥交给 KMS 管理。
- 按业务的恢复要求选择冗余方式,关键 Bucket 再配置跨区域复制。
成本排查的三个检查点
- 分开查看存储用量、请求次数和外网流量。三项单价不同,只看总账单,很难知道钱花在哪里。
- 清理未完成的分片上传碎片。这些碎片占用存储且仍会计费,也不会自动消失,建议定期检查。
- 确认生命周期规则真的执行了。规则配置好不等于冷数据已经转存,抽几个对象核对一下实际存储类型。
落地建议
先盘点现有数据,按访问频率、保留期限和共享需求分组,再为每组选择产品和规则。挑一个项目试点,观察两三个计费周期,看用量和账单是否与预期一致,然后再推广到其他项目。迁移前务必保留一份完整备份,确认数据可读后再切换应用。