- 首先了解下为什么要结合?
- 成本优点
- 访问控制
- 访问速度
- 接入实操
- 借助云函数 SCF 实现自动刷新在 CDN 上指定的缓存文件
导语:
代码语言:javascript复制cdn加速和云存储cos的结合,会让更多用户轻松上云,使用云变的更简单。方便静态文件的云上托管和访问的加速。
结合使用,会出现1 1>2的效果。
为什么要结合?
1、流量成本上(非金融区):
cos侧单价:
可以看到分地域单价不同,但是最低费用为0.5元/GB
cdn侧流量单价: 可以看到按梯度计费,最高0.21元/GB
所以从流量的费用上来计算,最理想的状态(cdn缓存住所有数据,cos数据不进行更新),每GB可以节省0.29元。 当然,这只是极特殊情况;那么看下最坏的情况,cdn侧数据完全不缓存,通过cdn分发cos侧数据流量费用为:0.21(cdn访问流量) 0.15(cdn回源cos流量)=0.36元/GB,每GB也要节省0.14元。
2、访问控制上:
cos侧: 基本没有访问限制配置(目前只有防盗链,访问权限,1200QPS)对于个人小站或者访问量较低的人来使用,基本很难对恶意用户的访问管控。(ps:腾讯云可以再完善下)
cdn侧:
①防盗链配置:和cos侧同理不做描述 ,详见文档:https://cloud.tencent.com/document/product/228/41454
②IP黑白名单配置:对用户请求的源 IP 配置过滤策略,帮助您解决恶意 IP 盗刷、攻击等问题。 https://cloud.tencent.com/document/product/228/41431
③IP访问限频配置:对客户端 IP 在每一个节点每一秒钟访问次数进行限制,进行 CC 攻击的抵御 https://cloud.tencent.com/document/product/228/41432
④带宽封顶:当域名在一个统计周期(5分钟)内产生的带宽超过指定阈值时,会根据您的配置将所有访问返回给源站,或直接关闭 CDN 服务,所有访问均返回404。 https://cloud.tencent.com/document/product/228/7541
所以cdn cos结合后可以提高访问限制能力,大大避免不必要损失。
3、访问速度上:
直接上示例,测试地点北京,测试存储桶成都,cos默认域名:
同台机器测试,cdn加速域名:
可以看到此场景下的访问cos默认域名访问完成在1727ms;cdn域名访问(命中缓存)完成时间163ms。
所以访问速度有大大的提升。
接入实操
1、创建对应地域私有读写存储桶(安全性考虑)
2、默认加速域名配置格式(自定义加速域名雷同):
3、cdn侧访问控制配置添加:
- 防盗链配置:https://cloud.tencent.com/document/product/228/6292
- IP黑白名单:暂未发现异常ip未添加(发现流量有异常可以根据cdn控制台-日志服务-下载对应时间访问日志过滤出异常IP信息,拉黑处理)
- IP访问限频:https://cloud.tencent.com/document/product/228/6420(设置过低访问会报错514)
- 带宽封顶:上面有提到,不做描述
这样对外分发存储在cos的信息时,使用加速域名可以做到最大化的访问限制和节省开支。
安利: 如有需要看下下这个文档:
使用 SCF 自动刷新被 CDN 缓存的 COS 资源 https://cloud.tencent.com/document/product/436/30434
借助云函数 SCF 实现自动刷新在 CDN 上的缓存文件,让其自动获取到更新后的资源。