更新时间:2024-10-18 GMT+08:00

方案概述

背景介绍

现在越来越多的行业使用OBS桶存储图片、视频、软件包等静态资源文件,并将OBS桶作为网站、论坛、APP、游戏等业务的存储源。在需要获取这些静态资源时,用户通过URL直接从OBS桶请求数据。OBS桶能够很好的解决本地存储不够用的难题,但一般情况下文件只存储在一个区域,不同区域的用户访问OBS桶的响应速度存在差异。在需要频繁访问的场景下,直接访问OBS桶来获取相应文件,还会消耗大量的流量费用。

CDN加速OBS文件方案

华为云CDN可以有效加速网站,为用户提供良好的体验,而OBS桶提供海量文件存储。将数据存放在OBS桶中然后通过配置CDN加速,这样构造的业务系统可以在降低成本的同时,提高终端用户使用感受。当终端用户发起访问请求时,会首先通过CDN查找对此域名响应速度较快的CDN节点,并查询此节点是否有缓存终端用户请求的内容。如果CDN节点有缓存用户所需资源,直接将资源返回给用户;如果CDN节点无缓存,则回源请求资源返回给用户,同时将资源缓存到CDN节点。

资源与成本规划

本实践所需资源请见下表。

资源

资源说明

每月费用

内容分发网络 CDN

流量:用户访问CDN节点产生的流量,可购买流量包抵扣。

具体的计费方式及标准请参考计费说明

对象存储服务 OBS

流量:CDN回源OBS时会产生公网流出费用,按需计费,版本为3.0以上的桶且以“OBS桶域名”形式接入CDN可购买回源流量包抵扣。

具体的计费方式及标准请参考OBS计费说明

方案优势

  1. 低成本
    • CDN加速OBS桶文件后,资源缓存在CDN节点,用户请求无需回源,而CDN加速的费用较低,二者配合使用可以节约50%到57%的带宽成本。
    • OBS桶提供CDN回源流量包折扣方式,使CDN从OBS桶获取数据时流量费用更低,计费详情请见CDN加速OBS计费规则

      CDN加速OBS桶不支持走内网。

  2. 高效率
    • 华为云CDN具有加速资源丰富、节点分布广泛优势,保证将用户请求精准调度至较优边缘节点,提供有效且稳定的加速效果。

适用场景

  • 通过OBS桶提供文件下载业务的应用或服务。例如:通过HTTP/HTTPS提供文件下载业务的网站、工具下载、游戏客户端、APP商店等。
  • 通过OBS桶提供音视频点播业务的应用或服务。例如:在线教育类网站、在线视频分享网站、互联网电视点播平台、音乐视频点播APP等。
  • 通过OBS桶提供图片素材等的网站。例如:包括门户网站、电商平台、资讯APP、UGC应用(User Generated Content,用户原创内容)等

约束与限制

  • 只有版本号为3.0及以上的桶支持此方案。桶版本号可以在OBS控制台上,进入桶概览页面后,在“基本信息”中查看。
  • 当OBS配置了镜像回源且CDN侧开启Range回源时,如果镜像源站未遵循RFC Range Requests标准,对range请求响应非206 ,CDN会回源失败。如需支持该场景,请提工单申请。
  • 当CDN源站类型为“OBS桶域名”且接入的是OBS私有桶时,不支持文件上传操作。如果您需要通过CDN将文件上传到OBS私有桶,需要以“源站域名”的形式将OBS私有桶接入CDN,同时,客户端携带鉴权请求头上传文件。

    OBS私有桶以源站域名接入CDN后,因CDN无私有桶上传权限,此时客户端无法正常访问加速域名。使用GET/HEAD等方式通过此加速域名请求资源时,也需携带鉴权请求头。

KMS加密文件配置

CDN默认无法读取OBS桶中的加密文件,如果您的OBS桶存在此类文件,建议您慎重开启CDN加速,避免加密对象泄露。如果您因业务需求,需要加速OBS桶中的KMS加密文件,请注意:
  • 如果您的OBS桶是公有桶,CDN将无法读取桶中的KMS加密文件,从而导致回源失败,用户无法访问到加密文件。

    解决方案:将公有桶中的加密文件转移到私有桶中,再接入CDN加速。

  • 如果您的OBS桶是私有桶,需要为“CDNAccessPrivateOBS”委托配置“KMS Administrator”权限。如此,CDN才能读取OBS私有桶中的KMS加密文件并加速,配置过程详见OBS委托授权