
# 方案概述
#### 背景介绍
现在越来越多的行业使用OBS桶存储图片、视频、软件包等静态资源文件，并将OBS桶作为网站、论坛、APP、游戏等业务的存储源。在需要获取这些静态资源时，用户通过URL直接从OBS桶请求数据。OBS桶能够很好地解决本地存储不够用的难题，但一般情况下文件只存储在一个区域，不同区域的用户访问OBS桶的响应速度存在差异。在需要频繁访问的场景下，直接访问OBS桶来获取相应文件，还会消耗大量的流量费用。
![](https://support.huaweicloud.com/bestpractice-cdn/zh-cn_image_0219985136.png "点击放大")
#### CDN加速OBS文件方案
华为云CDN可以有效加速网站，为用户提供良好的体验，而OBS桶提供海量文件存储。将数据存放在OBS桶中然后通过配置CDN加速，这样构造的业务系统可以在降低成本的同时，提高终端用户使用感受。当终端用户发起访问请求时，会首先通过CDN查找对此域名响应速度较快的CDN节点，并查询此节点是否有缓存终端用户请求的内容。如果CDN节点有缓存用户所需资源，直接将资源返回给用户；如果CDN节点无缓存，则回源请求资源返回给用户，同时将资源缓存到CDN节点。
![](https://support.huaweicloud.com/bestpractice-cdn/zh-cn_image_0000001089156658.png "点击放大")
#### 资源与成本规划
本实践所需资源请见下表。
| 资源         | 资源说明                                                                  | 每月费用                                                                                |
|:---|:---|:---|
| 内容分发网络 CDN | **流量/带宽**：用户访问CDN节点产生的流量/带宽，"计费方式""流量计费"时可购买流量包抵扣。                    | 具体的计费方式及标准请参考[计费说明](https://support.huaweicloud.com/price-cdn/cdn_01_0155.html)。    |
| 对象存储服务 OBS | **流量**：CDN回源OBS时会产生公网流出费用，按需计费，版本为3.0以上的桶且以"OBS桶域名"形式接入CDN可购买回源流量包抵扣。 | 具体的计费方式及标准请参考OBS[计费说明](https://support.huaweicloud.com/price-obs/obs_42_0001.html)。 |
   
#### 方案优势
1. **低成本**
   - CDN加速OBS桶文件后，资源缓存在CDN节点，用户请求无需回源，而CDN加速的费用较低，二者配合使用可以节约50%到57%的带宽成本，详见**[通过CDN减少OBS公网带宽费用](https://support.huaweicloud.com/price-bestpract/zh-cn_topic_0090054488.html)**。
   
   - OBS桶提供CDN回源流量包折扣方式，使CDN从OBS桶获取数据时流量费用更低，计费详情请见[CDN加速OBS计费规则](https://support.huaweicloud.com/price-cdn/cdn_01_0121.html)。
   
   
   ![](https://support.huaweicloud.com/bestpractice-cdn/public_sys-resources/note_3.0-zh-cn.png)
   CDN加速OBS桶不支持走内网。
   
2. **高效率**
   - 华为云CDN具有加速资源丰富、节点分布广泛优势，保证将用户请求精准调度至较优边缘节点，提供有效且稳定的加速效果。
    
3. **自动刷新**
   - 通过OBS控制台为您的桶绑定加速域名后，支持自动刷新配置，您可以参考[配置CDN自动刷新](https://support.huaweicloud.com/usermanual-obs/obs_03_0097.html)完成相关配置。
    
 
#### 适用场景
- 通过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，同时，客户端携带鉴权请求头上传文件。
  ![](https://support.huaweicloud.com/bestpractice-cdn/public_sys-resources/note_3.0-zh-cn.png)
  OBS私有桶以源站域名接入CDN后，因CDN无私有桶上传权限，此时客户端无法正常访问加速域名。使用GET/HEAD等方式通过此加速域名请求资源时，也需携带鉴权请求头。
  
 
#### KMS加密文件配置
**CDN默认无法读取OBS桶中的加密文件** ，如果您的OBS桶存在此类文件，建议您慎重开启CDN加速，避免加密对象泄露。如果您因业务需求，需要加速OBS桶中的KMS加密文件，请注意：
- 如果您的OBS桶是公有桶，CDN将无法读取桶中的KMS加密文件，从而导致回源失败，用户无法访问到加密文件。 解决方案：将公有桶中的加密文件转移到私有桶中，再接入CDN加速。
  
- 如果您的OBS桶是私有桶，需要为"CDNAccessPrivateOBS"委托配置**查看KMS密钥** 和**加密数据密钥** 权限。如此，CDN才能读取OBS私有桶中的KMS加密文件并加速，配置过程详见[OBS委托授权](https://support.huaweicloud.com/usermanual-cdn/cdn_01_0029.html)。
 
