基于全站加速WSA的OBS传输加速最佳实践
应用场景
- 远距离数据传输:
如果客户端所在区域与数据存储区域相距较远,那么当客户端访问数据时,可能会因为传输距离远引发访问延时长、不稳定等问题,例如全球性的论坛网站、在线协同办公平台等,远距离传输造成的长时延会影响客户上传下载数据的体验。基于全站加速(Whole Site Acceleration,WSA)的传输加速方案可以让全球各地的客户极大地提升上传和下载速度,让不同地域的用户都能有很好的访问体验。
- 动态文件下载:
与其他加速技术相比,WSA不仅加速静态资源,还适用于加速各行业动静态内容混合、含较多动态资源请求(如asp、jsp、php等格式的文件)的源站应用服务。除了常见的网站页面加速,WSA 还能为各种应用类型提供加速服务,包括但不限于Web应用、移动应用、API接口、WebSocket应用等。
方案架构
开启WSA前,客户端请求经过DNS解析后,通过直连网络上传下载OBS。
开启WSA后,客户端请求经过DNS解析后,DNS服务器会通过CNAME方式将域名请求重定向到WSA服务。WSA通过一组预先定义好的策略(如内容类型、地理区域、网络负载状况等),静态内容从当时能够最快响应用户的边缘节点就近获取,动态内容通过动态加速技术避开网络拥堵路由,智能选择较优路由回源获取,使用户可以以最快的速度获得网站内容。
方案优势
加速范围全面:
- 动静态内容一体化加速:传统的CDN技术大多只能加速静态资源,如图片、样式表、脚本等。而WSA不仅可以对静态资源进行高效缓存和分发,还能针对动态内容,如动态网页、API接口、实时数据等进行加速。
- 多类型应用加速支持:除了常见的网站页面加速,WSA还能为各种应用类型提供加速服务,包括但不限于Web应用、移动应用、API接口、WebSocket应用等。
智能优化能力强:
- 智能路由选择:WSA能够根据用户的地理位置、网络运营商、网络质量、节点负载等多种因素,实时动态地计算出到源站的最优访问路径。相比传统的基于DNS的就近访问原则,WSA的智能路由可以更精准地避开网络拥堵、故障等问题,提高数据传输效率。
- 协议优化:通过自研的协议优化算法,WSA可以降低网络传输中的延迟和卡顿率,尤其在端侧弱网接入场景下,能够有效改善丢包、时延等问题,提升用户在各种网络环境下的访问体验。
资源和成本规划
资源 |
资源说明 |
数量 |
费用 |
---|---|---|---|
全站加速WSA |
提供全站加速功能,加速数据上传下载。 |
NA |
基础服务计费:流量或带宽费用,该最佳实践默认按流量阶梯计费,您也可以在WSA服务中购买预付费流量包,更多计费详情请参见价格详情。 增值服务计费:全站加速请求数费用,详情请参见价格详情。 |
OBS桶 |
OBS桶用于存放用户上传和下载的数据,桶存储类别为“标准存储”。 |
1 |
存储费用:按照OBS存储数据所占用的存储空间容量大小收费。 流量费用:WSA回源OBS时会产生公网流出费用,按需计费,版本为3.0以上的桶且以“OBS桶域名”形式接入WSA可购买OBS回源流量包抵扣。 |
网站域名 |
绑定在对象桶上的自定义域名,用户通过访问该域名来访问桶。 |
1 |
域名注册和管理相关费用,不同厂商的收费标准不同。 |
约束限制
- 对于使用中国大陆节点服务器提供互联网信息服务的用户,绑定服务器的域名需要在取得备案号后才能进行访问。
- 您必须是桶拥有者或拥有设置桶的自定义域名的权限,才能设置桶的自定义域名信息。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketCustomDomainConfiguration权限,如果使用桶策略则需授予PutBucketCustomDomainConfiguration权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。
操作流程

实施步骤
步骤一:在OBS控制台创建OBS桶
- 登录控制台,进入创建桶页面。
- 设置“基础配置”。
参数
示例
说明
区域
华北-北京四
桶所属区域。桶创建成功后,不支持变更区域,请谨慎选择。
- 设置“桶配置”。其他参数保持默认,可在桶创建后修改。
参数
示例
说明
桶名称
wsa-example-bucket
桶的名称。桶创建成功后,不支持修改名称。
桶名称命名规则如下:
- 全局唯一,不能与已有的任何桶(包含其他账号创建的桶)名称重复。删除桶后,需等待30分钟才能创建同名桶或并行文件系统。
- 长度范围为3到63个字符,支持小写字母、数字、中划线(-)、英文句号(.)。
- 禁止两个英文句号(.)相邻,禁止英文句号(.)和中划线(-)相邻,禁止以英文句号(.)和中划线(-)开头或结尾。
- 禁止使用IP地址。
数据冗余存储策略
多AZ存储
- 多AZ存储:数据存储至同区域内的多个可用区(AZ),可靠性更高,同时存储成本相对更高。
- 单AZ存储:数据仅存储在单个可用区(AZ),成本更低。
桶创建成功后,不支持更改数据冗余存储策略。
存储类型
标准存储
桶的存储类别。不同的存储类别可以满足客户业务对存储性能、成本的不同诉求。
- 标准存储:适用于有大量热点文件或小文件,且需要频繁访问(平均一个月多次)并快速获取数据的业务场景。
- 低频访问存储:适用于不频繁访问(平均一年少于12次),但需要快速获取数据的业务场景。
说明:归档与深度归档存储不支持配置WSA全站加速。
更多详情请参见存储类别。
桶策略
私有
桶的读写权限控制。
- 私有:除桶ACL授权外的其他用户无桶的访问权限。
- 公共读:任何用户都可以对桶内对象进行读操作。
- 公共读写:任何用户都可以对桶内对象进行读/写/删除操作。
- 复制桶策略:复制源桶的桶策略。当且仅当您选择了源桶时,该选项处于可选状态。
企业项目
default
将桶加入到企业项目中统一管理。如无特殊的企业项目划分和管理需求,此处可直接选择默认企业项目“default”。
如果您想要了解更多关于如何通过企业项目管理OBS桶,具体请参见创建桶中的“企业项目”参数说明。
- 单击页面右下角的“立即创建”,并确认提示信息。
创建完成后,将会出现创建成功弹窗,确认后在桶列表页即可看到已创建的桶。
步骤二:在OBS控制台向桶中上传对象
- 在桶列表页面,单击已创建好的桶名称,进入“对象”页面。
- 单击搜索框上方的“上传对象”。
- 将本地文件拖拽至“上传对象”区域框内来添加对象。
也可以通过单击区域框内的“添加文件”,选择本地文件进行添加。
- 其他参数保持默认,单击“上传”。
右侧自动弹出任务中心页面,可在任务中心查看对象上传状态。上传成功的对象将在对象列表中展示。
步骤三:在OBS控制台为桶绑定自定义域名
- 在左侧导航栏选择“域名管理”,进入“域名管理”界面。
图2 域名管理界面
- 单击“配置自定义域名”,在用户域名中输入需要配置的自定义域名(此处以“testwsa.com”为例),然后单击“确定”。域名后缀目前支持的范围为2~6个英文大小写字母。如:.com、.cn。
配置自定义域名
在配置自定义域名后,配置WSA之前,OBS会暂时将桶域名作为自定义域名的CNAME,配置WSA后CNAME会变更为WSA生成的CNAME,最终在DNS上配置的CNAME为WSA生成的CNAME。
步骤四:在CDN控制台配置全站加速
- 登录CDN控制台,单击左侧“域名管理”,进入域名管理页面。
- 在域名管理页面单击“添加域名”,进入添加域名页面。
- 在添加域名页面,配置域名参数,其他参数保持默认:
参数
示例
说明
服务范围
中国大陆
加速域名
testwsa.com
需要加速的域名,请填写可以正常使用的域名。
- 域名长度不能超过200个字符,支持大小写字母、数字、“-”、“.”“*”,“*”必须是首字符,首字符不能是“-”或“.”。
- 域名单节点长度不超过63个字符,即:***.***.com中,***的字符数最多63个。
企业项目
default
将加速域名加入到企业项目中统一管理。如无特殊的企业项目划分和管理需求,此处可直接选择默认企业项目“default”。
业务类型
全站加速
适用于各行业动静态内容混合,含较多动态资源请求(如asp、jsp、php等格式的文件)的网站。
说明:如果您未开通全站加速服务,界面将提示您开通WSA服务:
- 单击“前往开通”。
- 选择计费方式,勾选服务声明,单击“立即开通”即可开通WSA服务。
回源方式
HTTP
配置CDN节点回源时采用的协议,可选:
- 在源站配置模块单击“添加源站”,为域名添加源站:
参数
示例
说明
源站类型
源站域名
- 源站IP:使用IP作为源站地址时,CDN节点回源时直接访问该IP地址。支持配置IPv4,暂不支持IPv6。
- 源站域名:支持配置域名作为源站,CDN节点回源时直接访问该域名。
说明:
- 域名首字符为字母或数字,支持大小写字母、数字、“-”、“.”,长度不能超过255个字符。
- 域名单节点长度不超过63个字符,即:***.***.com中,***的字符数最多63个。
源站地址
wsa-example-bucket.obs.cn-north-4.myhuaweicloud.com
CDN节点回源时访问的地址,此处填写桶域名。
回源HOST
testwsa.com
回源HOST是CDN回源过程中,在源站访问的站点域名,即HTTP请求头中的HOST信息。配置回源HOST后,CDN在回源过程中会根据HOST信息去对应站点获取资源,此处填写加速域名。
- 单击“确定”,完成源站添加。
- 源站添加完成后,单击页面左下方“确定”按钮,完成域名添加。
步骤五:在CDN控制台获取WSA生成的CNAME
- 在CDN控制台域名管理页面,单击步骤四中添加的域名,进入域名详情页。
- 在“基本配置”页签,复制WSA生成的CNAME,这个CNAME将会在步骤六中用到。
步骤六:在DNS控制台配置域名解析
如果您已成功添加加速域名,系统会自动为您的加速域名分配对应的CNAME域名。加速域名在WSA服务中获得的CNAME域名不能直接访问,必须在加速域名的域名服务商处配置CNAME记录,将加速域名指向CNAME域名,访问加速域名的请求才能转发到WSA节点上,达到加速效果。
不同DNS服务商的CNAME配置方式不同,此处以华为云云解析服务为例。其他DNS服务商的CNAME配置方法可参考配置CNAME域名解析。
- 登录DNS控制台。
- 在左侧菜单栏中,选择“公网域名”,进入公网域名列表页面。
- 单击“域名”列的域名名称。本实践中对应的域名为“testwsa.com”。
- 单击“添加记录集”,进入“添加记录集”页面。
- 根据界面提示填写参数配置,参数信息如表2所示,下表中未提到的参数可保持默认值:
表2 参数说明 参数
示例
说明
记录类型
CNAME-将域名指向另外一个域名
记录集的类型,此处为CNAME类型。
主机记录
*
解析域名的前缀。
例如创建的域名为“example.com”,其“主机记录”设置包括:
- www:用于网站解析,表示解析的域名为“www.example.com”。
- 空:用于网站解析,表示解析的域名为“example.com”。
- 主机记录置为空,还可用于为空头域名“@”添加解析。
- abc:用于子域名解析,表示解析的域名为“example.com”的子域名“abc.example.com”。
- mail:用于邮箱解析,表示解析的域名为“mail.example.com”。
- *:用于泛解析,表示解析的域名为“*.example.com”,匹配“example.com”的所有子域名。
值
testwsa.com.xxxxxxxx.c.cdnhwc1.com
需指向的域名。开启WSA加速后,该值为步骤五中获取的WSA分配的CNAME域名。
- 单击“确定”,完成添加。
- 验证CNAME配置是否生效。
打开Windows操作系统中的cmd程序,输入如下指令:
nslookup -qt=cname 桶绑定的自定义域名
本实践中桶绑定的自定义域名为“testwsa.com”。如果回显CDN分配的CNAME域名,则表示CNAME配置已经生效。
步骤七:构造OBS请求
公开桶直接获取对象URL即可访问桶内资源,详情参见匿名用户通过URL访问对象。私有桶请使用自定义域名计算签名或初始化SDK客户端:
步骤八:验证加速效果
配置完成后,访问桶内文件,如果文件能成功访问,则表示加速配置成功。