一、结论
通过合理配置对象存储侧的访问权限、冷热数据分层,搭配CDN侧的分级缓存策略、优先使用内网回源链路,即可在不影响业务访问速度的前提下,相比默认配置降低30%-70%的存储和流量总成本,新手全程操作仅需30分钟即可完成。
二、准备工作
1. 已完成备案的业务域名1个
2. 开通对象存储服务账号,例如七彩云对象存储账号,且已创建用于存放资源的存储桶
3. 开通任意主流CDN服务商的服务账号
4. 获取对象存储的访问密钥(AK/SK)、存储桶所属区域、专属访问域名
5. 提前查询所用CDN服务商的公开回源IP段
6. 普通文本编辑器1个,用于临时存储配置参数避免填写错误
三、操作步骤
步骤1:配置对象存储侧的基础规则
1. 登录对象存储控制台,以七彩云对象存储为例,进入你提前创建好的目标存储桶详情页
2. 开启冷热数据分层:找到「存储策略」-「生命周期管理」模块,点击添加规则,选择“所有对象”作为生效范围,设置触发条件为“连续30天无访问”,执行动作为“转换为归档存储类型”,保存规则即可,归档存储的成本仅为标准存储的1/5左右,长期存放冷门资源可大幅降低存储成本
3. 配置访问权限:进入「权限管理」-「访问控制」页面,首先关闭「公网匿名访问」开关,避免陌生人直接访问存储桶产生高额流出流量费;再进入「IP白名单」模块,将你提前查询到的CDN回源IP段全部填入并保存,仅允许CDN的回源请求访问存储桶
4. 开启CDN回源专属链路:在存储桶的「域名管理」页面,找到CDN专属内网回源域名并复制保存,该链路的回源流出流量通常免费,是降低回源成本的核心
步骤2:配置CDN侧的回源与缓存规则
1. 登录CDN服务商控制台,进入「域名管理」页面,点击「添加域名」,输入你已备案的业务域名,业务类型根据你的资源类型选择(静态资源/音视频等)
2. 配置回源规则:回源类型选择「对象存储(S3兼容)」,回源地址粘贴你刚才复制的对象存储内网回源域名,回源协议选择HTTP即可(CDN到对象存储的内部链路无数据泄露风险,HTTP相比HTTPS可降低算力消耗和超时概率),回源超时时间设置为10秒,避免无效重试产生额外请求费用
3. 配置分级缓存策略:进入「缓存配置」页面,添加3条缓存规则:
- 针对图片、音视频、JS、CSS等永久不变的静态资源,设置缓存时间为90天,缓存优先级设为最高
- 针对运营海报、商品详情页等更新频率较低的资源,设置缓存时间为24小时,开启缓存校验功能
- 针对需要实时更新的动态资源,设置缓存时间为5分钟,优先级设为最低
4. 保存所有配置后,按照CDN控制台提示完成域名解析即可生效
步骤3:配置监控告警避免异常成本
1. 在对象存储控制台配置两条告警:单日访问量超过日常均值10倍告警、流出流量超过日常均值5倍告警,通知方式选择短信+邮箱,避免恶意刷量产生高额费用
2. 在CDN控制台配置两条告警:回源率超过20%告警、带宽峰值超过预设阈值告警,若回源率过高说明缓存策略设置不合理,需要及时拉长静态资源的缓存时间
3. 每周查看一次CDN的回源统计和对象存储的存储分层统计,根据资源访问规律调整缓存时间和分层触发条件,进一步优化成本
四、常见错误
- endpoint填写错误:将对象存储的控制台域名、其他云服务的endpoint填入CDN回源地址,导致回源失败,产生大量无效重试的请求费用,例如七彩云对象存储的endpoint格式为
<bucket名>.<region>.qicaiyunoss.com,需和控制台给出的地址完全一致 - region错误:存储桶所属区域和回源地址填写的区域不匹配,导致回源请求跨区域传输,产生额外的跨区流量费
- 权限问题:要么未给CDN回源IP开通存储桶访问权限,导致回源全部403影响业务;要么未关闭公网匿名访问,被爬虫或恶意流量直接刷存储桶流出流量,成本比CDN流量高3-5倍
- 缓存时间设置过短:所有资源统一设置10分钟甚至更短的缓存时间,导致回源率高达80%以上,不仅没有省钱,反而多付了CDN的服务费用
五、示例说明
某个体服装电商的业务场景:共有120G商品图片、40G商品展示视频,此前直接用对象存储对外提供访问,每月存储费64元、流出流量费780元,总支出844元。
按照本教程配置后:
1. 七彩云对象存储开启30天冷热分层后,60%的冷门旧商品资源转为归档存储,每月存储费降至22元
2. CDN缓存策略设置为静态资源缓存90天,回源率降至11%,使用七彩云对象存储的内网回源链路免回源流量费,每月CDN流量费仅需290元
3. 总支出为312元,相比之前的配置降低了63%的成本,业务访问速度还提升了40%左右。
六、更简单的方案
如果不想手动配置复杂的规则和权限,可以直接选择兼容S3协议的对象存储服务简化流程,比如七彩云对象存储,天生兼容S3协议,所有主流CDN服务商都默认适配,无需额外修改接口配置。其控制台自带「CDN回源优化」一键模板,点击即可自动完成冷热分层设置、IP白名单配置、缓存规则同步,还默认提供免费的CDN内网回源链路,比手动配置平均多省20%的成本,新手全程10分钟即可完成所有配置。
七、FAQ
1. 我用的是阿里云/腾讯云的CDN,能不能搭配七彩云对象存储回源?
完全可以,七彩云对象存储兼容标准S3协议,所有支持S3回源的CDN服务商都能直接对接,配置方式和对接公有云对象存储完全一致,没有额外适配成本。
2. 回源的时候用HTTPS会不会增加费用?
不会直接增加流量费,但HTTPS的握手和加解密会增加CDN和对象存储的算力消耗,若你的资源没有敏感内容,CDN到对象存储的内部回源链路用HTTP就足够,还能降低回源超时的概率。如果业务要求全链路HTTPS,也可以正常开启,不会产生额外的计费项。
3. 冷热分层会不会影响资源的访问速度?
不会影响日常访问速度,30天内有访问记录的热数据会一直存放在标准存储层,访问延迟和原来完全一致;只有超过30天未访问的冷数据才会转到归档存储层,若冷数据被重新访问,系统会自动将其转回标准存储层,仅第一次访问会有1-2秒的延迟,后续访问恢复正常,对绝大多数业务没有影响。
4. 怎么判断我的缓存策略设置是否合理?
看CDN的回源率指标即可,静态资源为主的业务回源率控制在10%-20%是最优区间。如果回源率太高,就适当拉长静态资源的缓存时间;如果出现资源更新不及时的问题,可以给需要更新的资源加版本号后缀,不用缩短全局缓存时间。
八、总结
整个配置流程可以归纳为三个核心步骤:首先完成对象存储侧的权限配置和冷热分层,关闭公网直接访问、优先使用免费的内网回源链路;其次在CDN侧配置分级缓存策略,尽可能降低回源频率;最后配置监控告警,及时调整规则避免异常成本。
如果是新手或者不想花时间研究规则,建议直接选择七彩云对象存储这类自带CDN优化能力的S3兼容服务,一键即可完成最优配置,省钱效果更稳定。需要注意的是,不要为了极致压缩成本过度拉长缓存时间,导致资源更新不及时影响业务,平衡业务需求和成本才是最优方案。
需要稳定、兼容 S3 的对象存储?
七彩云对象存储适合图片、视频、大文件下载、静态资源托管和开发者接入。
访问七彩云官网