使用阿里云CDN加速OSS源站的方法步骤
使用CDN可以更快地访问OSS资源。直接访问OSS资源可能会受到OSS下行带宽和Bucket地域的限制。相比直接访问OSS资源,CDN具有更高的带宽上限,可以将OSS的资源缓存至就近的CDN节点,从而通过CDN节点进行分发,同时费用更低。本文介绍如何使用CDN来加速OSS的访问。
前提条件
1,已创建一个OSS Bucket,且上传了相关资源。
2,已开通阿里云CDN服务。详情请参见开通CDN服务。
背景信息
为了更好地应对访问量的增长,并避免性能瓶颈,建议您将静态数据存储到OSS中,并通过CDN加速OSS的访问。这将使传统的动态资源和静态资源不分离的网站架构变为动态资源和静态资源分离的云上网站架构。通过这种架构改造,可以大大提高网站的稳定性和可靠性,同时为网站的访问速度带来显著的提升。
传统网站架构
如下图所示,传统网站架构下,动态资源和静态资源不分离,随着访问量的增长,性能会成为瓶颈。
该架构的要点如下:
-
将动态资源和静态资源都存放在服务器上。
-
用户直接访问服务器请求数据。
该架构有以下劣势:
-
Web服务器高负载
动态数据和静态数据共用一台服务器,当网站访问量增加时,服务器可能无法承受高负载,从而导致网站响应速度变慢,甚至崩溃。
-
存储空间难以扩容
静态资源的存储空间会受到服务器硬盘容量的限制。当存储空间不足时,需要对服务器硬盘进行扩容或升级,需要投入更多的资金和时间成本。
云上网站架构
如下图所示,云上网站架构下,动态资源和静态资源分离,能够解决海量用户访问的性能瓶颈问题。
该架构的要点如下:
-
将动态资源如Web程序、数据库等存放在云服务器ECS上。
-
将静态资源如图片、音视频、静态脚本等存放在对象存储OSS上。
-
将OSS作为CDN的源站,通过CDN加速分发,使用户通过CDN节点就近获得文件。
该架构有以下优势:
-
降低了Web服务器负载
OSS的资源缓存至就近的CDN节点,通过CDN节点进行分发,缩短了网络传输距离,加快了用户的调用速度。
-
支持海量存储
OSS的存储空间弹性无限扩展,您无需考虑存储架构升级。
-
降低了存储费用和流量费用
使用该架构会产生OSS的存储费用、CDN的下行流量费用,以及极少量的回源流量费用。其中OSS的存储费用仅为ECS云盘费用的一半,而CDN流量的单价约为OSS外网流量单价的30%~40%。
操作步骤
以下步骤以域名example.com为例,加速域名以oss.example.com为例。您可以根据自己的实际情况来选择加速域名,包括主域名、二级域名、泛域名等。
步骤一:添加域名并解析域名
-
添加域名。
-
登录CDN管理控制台,选择域名管理。
-
单击添加域名,设置以下参数:
-
加速域名:输入加速域名,该示例为oss.example.com。
-
业务类型:选择图片小文件。
-
加速区域:选择仅中国内地。
-
源站信息:单击新增源站信息,然后选择OSS域名和需要加速的OSS域名(即之前创建的OSS Bucket对应的域名),其他参数保持默认值。单击确认。
-
-
单击下一步,然后单击返回域名列表。
-
等到域名状态为正常运行时,复制CNAME值,该示例为oss.example.com.w.kunluncan.com。
-
-
解析域名。
-
进入域名控制台,找到域名example.com,单击解析。
-
在添加记录页面,配置以下参数:
-
记录类型:选择CNAME。
-
主机记录:输入oss。
-
记录值:输入之前复制的CNAME值oss.example.com.w.kunluncan.com。
-
其他参数:保留默认值。
-
-
单击确认。等待几分钟后,使用ping命令查看加速域名是否生效。下图表示已生效。
-
步骤二:开启CDN缓存自动刷新
-
进入OSS控制台,单击左侧导航栏的Bucket列表,然后选择对应的Bucket。
-
在左侧导航栏,选择
。 -
开启加速域名对应的CDN缓存自动刷新。
步骤三:查看文件的URL
-
进入OSS控制台,单击左侧导航栏的Bucket列表,然后选择对应的Bucket。
-
进入文件管理,然后单击文件对应的详情,进入文件的详情页面。
-
在文件的详情页面,从自有域名列表中选择加速域名,该示例为oss.example.com。可以看到文件的URL已经变为加速域名开头的URL。
直接访问上述的URL,通过开发者工具检查可以发现,CDN已经生效并成功缓存了这张图片。
步骤四:使文件的URL长期有效
在文件的详情页面,单击设置读写权限。
-
选择公共读,然后单击确定。
步骤五(可选):配置证书加密访问
-
在文件的详情页面,开启使用HTTPS。
-
在CDN管理控制台,选择域名管理,然后单击加速域名。
-
在左侧导航栏,单击HTTPS配置,然后在HTTPS证书区域单击修改配置。
-
完成配置后即可通过HTTPS加密访问,具体步骤请参见配置HTTPS证书。