云上对象存储选型与成本优化:S3、GCS还是OSS?

上个月,一个做视频剪辑SaaS的客户发来账单截图,问了一个扎心的问题:“我们的存储费用怎么比上个月涨了3倍?用户量没涨啊。”
我打开他的存储分析报告一看,明白了:他把所有用户上传的原始视频都存成了“标准存储”,而且开启了跨区域复制到另一个大洲。更可怕的是,三个月前的版本也没删,版本控制开着,一个视频在后台存了七八个副本。
他问我怎么办。我说:“你先做三件事:把超过30天不访问的视频转到低频存储,把超过1年的归档到冷存储,再关掉不必要的跨区域复制。”
他照做了。下个月的账单,存储费用降了72%。
这是云上对象存储最常见的陷阱:好用、便宜、方便,但配置错了,账单能把你吓醒。
今天聊聊云上对象存储的选型与成本优化。不是那种“标准存储是热数据”的废话,而是帮你理清楚:存储类别怎么选,生命周期怎么设,版本控制和跨区域复制到底要不要开。
01 存储类别不是只有“标准”一种
很多人一提到对象存储,脑子里只有一个概念:S3标准存储。其实云厂商提供了从“随时取”到“几乎不取”的完整光谱。
以AWS S3为例,存储类别从热到冷大概分这几档:
S3 标准:毫秒级访问,适合频繁访问的数据。价格最贵。
S3 智能分层:自动在热冷之间移动,适合访问模式不确定的数据。有少量监控费,但比人工调优划算。
S3 标准-IA(低频访问):数据很少访问,但需要毫秒级取回。存储费便宜,但有取回费。
S3 One Zone-IA:只在一个可用区存,更便宜,但可用性低一档。适合可重建的数据。
S3 Glacier Instant:归档级,但取回毫秒级。比IA更便宜。
S3 Glacier Flexible Retrieval:取回分钟到小时,存储费极低。
S3 Glacier Deep Archive:取回12小时,存储费最低。适合合规存档。
GCS和OSS有类似的分层:标准、低频、归档、冷归档。名字不同,逻辑一样:用访问速度换存储成本。
02 生命周期策略:让数据自己“变冷”
存储类别摆在那,但手动切换不现实。关键是用生命周期策略,让数据自动迁移。
生命周期策略的核心是两条规则:
转层规则:创建30天后,转到IA;180天后,转到Glacier;365天后,转到Deep Archive。
删除规则:超过N年,永久删除。
去年帮一个图像处理公司做优化,他们存了几亿张缩略图。大部分图片在生成后一周就没人看了。我们设了规则:创建7天后转到IA,90天后转到Glacier,2年后删除。
结果是:存储成本从每月1.2万美元降到3500美元,降幅70%。用户访问时,取回速度从毫秒级变成分钟级,但他们的业务场景完全能接受。
反常识观点:不是所有数据都需要“毫秒级响应”。 把不常用的数据“冻”起来,省下来的钱够买新的业务服务器。
03 版本控制:保命功能,但要算好账
版本控制是对象存储的保命功能——误删文件、被勒索病毒加密,版本控制能让你回到过去。
但代价是什么?每个新版本都是一次完整存储。
假设你有个1GB的文件,每天更新一次,开启版本控制一年后,这个文件会占用约365GB的存储空间。如果存的是标准存储,一年成本可能几千美元。
怎么平衡?
设生命周期删除旧版本:只保留最近3个版本,或者只保留90天内的版本。
区分数据重要性:核心数据开版本控制,临时数据不开。
用成本分析工具:AWS S3 Storage Lens、阿里云存储分析能告诉你哪些版本在浪费钱。
一个电商客户,产品图片每天更新,但旧版本从来没人查。我们给他们设了“保留最近5个版本,超过自动删除”。版本控制还开着,但存储成本降了40%。
04 跨区域复制:小心流量费
跨区域复制是另一个容易被低估的成本黑洞。
你开一个复制规则,把北京区域的数据同步到上海区域。看起来很简单。但账单来了你会发现:
跨区域流量费:数据从北京传到上海,每GB收流量费。
目标区域存储费:上海区域存一份副本,再付一次存储费。
复制请求费:每个文件复制算一次API请求。
有个客户做全球业务,把数据复制到北美、欧洲、亚太三个区域做加速。结果存储费只有2000美元,流量费却花了8000美元。后来他们调整策略:核心数据全球复制,非核心数据只在本地存,需要时再从源区域取。
反常识观点:跨区域复制不是免费的“备份”,是昂贵的“分发”。 只有真正需要就近访问的数据,才值得复制。
05 选哪个厂商?S3、GCS还是OSS?
三大厂商的对象存储,核心能力几乎一样:分层存储、生命周期、版本控制、跨区域复制。选谁主要看两个因素。
第一,看你的其他云服务在哪。
计算在EC2,数据库在RDS → S3是自然选择,内网免费传输。
用GKE、BigQuery → GCS集成更顺。
业务在国内,或主要用阿里云服务 → OSS更省心。
第二,看你需要什么样的生态。
S3是事实标准,几乎所有第三方工具(备份、同步、数据处理)都支持S3 API。
GCS对数据分析友好,和BigQuery、Dataflow深度集成。
OSS在国内合规、备案、CDN加速上有天然优势。
价格方面,三大厂商的标准存储差不多,但低频和归档层的定价策略有差异,建议用实际数据量跑一下成本估算器。
06 一个真实案例:从标准到分层,省了72%
回到开头那个视频SaaS客户。我们给他设计的方案:
原始视频上传后直接存到标准-IA(低频),因为编辑需要马上用。
编辑完成后,30天后自动转到Glacier Instant。
180天后转到Glacier Deep Archive,作为长期存档。
版本控制只保留最近3个版本。
跨区域复制只对最近30天的活跃视频开启,老视频只存单区域。
三个月后,他的存储费用从每月1.2万美元降到3300美元。他发消息说:“现在敢存更多素材了,反正成本可控。”
写在最后
对象存储是个好东西:无限容量、高可用、不用管硬件。但它也是云上最容易“隐性超支”的服务之一。一个生命周期策略没设,一个版本控制没管,一个月后账单就翻倍了。
好消息是,优化起来也简单。花一天时间,把你的存储数据按访问频率分个类,设好生命周期规则,关掉不必要的复制,版本控制配上过期策略。下个月的账单,你会感谢今天的自己。
你的存储,现在谁在管?