用对象存储 OBS 做静态资源托管与生命周期管理的实践笔记
【摘要】 最近把一个小站点的图片和附件资源迁到了华为云对象存储 OBS,顺手把生命周期规则也配齐了,记录一下这次的配置思路和几个容易踩的点。迁到 OBS 之后存储按量计费、不用操心扩容;配合 CDN 回源,静态文件的访问速度也更稳。重点在于桶权限收紧与生命周期规则精细化配置。
用对象存储 OBS 做静态资源托管与生命周期管理的实践笔记
最近把一个小站点的图片和附件资源迁到了华为云对象存储 OBS,顺手把生命周期规则也配齐了,记录一下这次的配置思路和几个容易踩的点。
为什么用 OBS 托管静态资源
站点资源原来跟应用放在同一台服务器上,磁盘涨得快、备份也麻烦。迁到 OBS 之后的好处很直接:存储按量计费、不用操心扩容;配合 CDN 回源,静态文件的访问速度也更稳。迁移本身没什么难度,桶建好后用 obsutil 批量同步一遍即可,重点反而在权限和生命周期这两块。
桶与权限配置
桶的读写权限我没有图省事开公共读,而是按最小授权来:
- 桶策略只放行 CDN 回源所需的读权限和指定来源;
- 上传用的 AK 单独建,只给目标桶的 PutObject 权限,不给删除;
- 防盗链打开,只允许自有域名和 CDN 域名引用,空 Referer 直接拒绝。
这样即使某个密钥泄露,影响也被限制在单个桶内。
生命周期规则
这是这次最有价值的部分。资源分三类处理:
- 长期资源(文章配图、附件):标准存储,不动;
- 临时资源(用户上传待审核文件):30 天未转正自动转低频,90 天删除;
- 日志与备份包:7 天转归档,180 天删除。
规则按前缀匹配,一条规则管一类。配完之后桶的容量增长明显平了,不再需要人工定期清理。
两个踩过的坑
第一,生命周期规则对「多段上传未合并的分片」默认不生效,碎片会一直占容量,要在规则里单独勾上清理未合并分片。
第二,防盗链开了之后,微信和部分 App 内置浏览器不带 Referer,会误伤正常用户。后来把空 Referer 改为放行、只拦明确的外部域名,才兼顾了防盗和可用性。
小结
OBS 本身不复杂,真正决定长期省不省心的是权限粒度和生命周期这两件事:权限按桶、按动作拆细,资源按前缀定好过期策略,剩下的就交给平台自动执行。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)