文件下载加速及成本优化

更新时间: 2023-12-11 15:50:04

手动部署

50

https://www.aliyun.com/solution/tech-solution/fdaaco

方案概述

运营电商网站时,网站会产生海量的商品详情数据(例如:图片、视频等),在源站使用阿里云OSS产品来存储静态文件的情况下,要保障所有用户都能够流畅地访问网站,可以使用阿里云CDN产品来分发OSS上的文件,以提高网站的访问性能,并且降低流量费用。业务价值和优势如下:

  • 用户访问网站资源,全部通过CDN来分发流量,以降低源站压力。

  • CDN提供了低流量成本的文件内容分发服务,并且采用阶梯定价方式,用量越大,流量单价越低。

  • 用户从距离客户端最近的CDN节点获取资源,减少网络传输距离,保证静态资源传输质量。

方案架构

电商网站的将静态资源存储在OSS上,CDN会将OSS源站的静态资源(图片文件、音频文件、视频文件等)提前缓存到CDN全球加速节点,用户请求访问或下载资源时,可以就近获取CDN节点上已缓存的资源,实现资源加速。默认设置完成部署后的网站运行环境如下图所示。实际部署时您可以根据资源规划修改部分设置,但最终形成的运行环境与下图相似。

O1CN017NIY1G1iYhSmuoAdP_!!6000000004425-0-tps-1520-724.jpg

本方案的技术架构包括以下基础设施和云服务:

  • 对象存储 OSS:用于存储电商网站产生的商品详情介绍材料。

  • 内容分发网络 CDN:用于加速电商网站的静态文件资源。

部署准备

10

开始部署前,请按以下指引完成账号申请、账号充值、RAM用户创建和授权。

  1. 如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册并完成个人实名认证。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 为阿里云账号充值。为节省成本,本方案默认选择使用按量付费,使用按量付费资源需要确保账户余额不小于100元。完成本方案的部署及体验,预计费用约为5元(假设您配置CDN产品和OSS产品时均选择采用按量付费方式,且方案验证过程中产生的流量在10GB以内。实际情况可能会因您操作过程中使用的流量大小差异,导致费用有所变化,请以控制台显示的实际报价以及最终账单为准)。

  3. 您已经拥有了至少一个域名,且域名已经备案。如果未备案,可登录阿里云ICP代备案管理系统完成备案。

  4. 阿里云账号拥有操作资源的最高权限,从云资源安全角度考虑,建议您创建RAM用户。RAM用户需要获得相关云服务的访问权限才能完成方案部署,详情如下:

    云服务

    需要的权限

    描述

    内容分发网络 CDN

    AliyunCDNFullAccess

    管理内容分发网络CDN的权限

    对象存储 OSS

    AliyunOSSFullAccess

    管理云服务器OSS的权限

    创建RAM用户并进行授权的操作指引请参见创建RAM用户为RAM用户授权

规划资源

10

请参考表格中的说明和方案默认示例值为每个规划项做详细规划,并在实际部署时将默认示例值修改为您的实际规划。未提及的规划项请保持默认值。

规划项

说明

方案默认示例

CDN服务

加速域名

用来加速的网站。

image.example.com

业务类型

根据网站资源类型判断。

例如电商网站以图片为主,业务类型为图片小文件

图片小文件

加速区域

网站访问用户所属地。

仅中国内地

对象存储OSS

Bucket名称

Bucket的名称,命名规则如下:

  • Bucket名称必须全局唯一。

  • 只能包括小写字母、数字和短划线(-)。

  • 必须以小写字母或者数字开头和结尾。

  • 长度必须在3~63字符之间。

image_test

地域

您的云服务部署的地域。选择地域的基本原则请参见地域和可用区

华东1(杭州)

文件存储目录

在OSS Bucket中创建文件存储目录。

image_data

部署资源

20

规划好资源后,请按照以下步骤部署方案中的所有资源。

步骤一:创建OSS存储空间

  1. 登录OSS控制台

  2. 在左侧导航栏,单击Bucket 列表然后单击创建 Bucketimage.png

  3. 创建 Bucket面板,按照资源规划配置参数。

  4. 配置完成后,单击确定

步骤二:上传文件到OSS存储空间

  1. 单击Bucket 列表然后单击已创建的Bucket名称。

  2. 在左侧导航栏,选择文件管理>文件列表

  3. 在文件列表页面,单击新建目录。输入目录名,单击确定

  4. 单击上传文件,配置以下参数,其余参数保持默认值。

    • 上传到:指定目录,输入创建的目录名。

    • 待上传文件:您可以单击扫描文件扫描文件夹选择本地文件或文件夹,或者直接拖拽目标文件或文件夹到待上传文件区域。

  5. 单击上传文件。您可以在上传列表页签查看各个文件的上传进度。

步骤三:添加CDN加速域名

  1. 登录CDN控制台

  2. 在左侧导航栏,选择域名管理,单击添加域名,按照资源规划配置参数。

  3. 单击新增源站信息,配置源站。

    源站信息选择OSS域名,并在下方的域名输入框中选择本案例中已创建的OSS Bucket,其他参数保持默认值即可。

  4. 完成源站配置后,单击下一步

  5. 等待人工审核。

    审核通过后,域名状态显示为正常运行,表示添加成功。

  6. 等到域名状态为正常运行时,会显示加速域名的CNAME值,本场景示例为image.example.com.w.kunlunsl.com

步骤四:配置CNAME

您需要在域名解析服务商处将加速域名的DNS解析记录指向CNAME域名,访问请求才能转发到CDN节点上,从而实现CDN加速。

本案例以DNS解析服务商是阿里云为例,为您介绍CNAME配置方法。

  1. 登录DNS控制台

  2. 在左侧导航栏单击域名解析,找到您的域名,在域名右侧单击解析设置

  3. 单击添加记录,添加CNAME记录。

    • 记录类型:CNAME

    • 主机记录:image

    • 记录值:输入添加CDN加速域名步骤中得到的CNAME值image.example.com.w.kunlunsl.com

    • 其他参数保持默认值即可。

  4. 单击确认

步骤五:配置CDN缓存

由于OSS的存储节点无法覆盖全球的各个区域,为了保证您能够顺畅地访问到OSS上存储的图片资源,您可以通过CDN缓存配置来实现对图片资源进行加速。

  1. 登录CDN控制台

  2. 在左侧导航栏,单击域名管理

  3. 域名管理页面,单击目标域名对应的管理

  4. 在指定域名的左侧导航栏,单击缓存配置

  5. 缓存过期时间页签下,单击添加

  6. 添加缓存过期时间对话框,配置缓存规则。

    • 类型:文件后缀名

    • 后缀名:输入您希望缓存的文件后缀名,本场景示例为MP4、TS和PNG格式文件。

    • 过期时间:如果您的资源为不常更新的静态文件(例如图片、视频等),建议设置1个月以上,这样可以减少回源流量。

    • 权重:99

  7. 单击确定

验证及清理

10

方案验证

  1. 验证静态资源缓存策略生效:上传一张图片 _MG_0090.jpg 到OSS的bucket地址image-test的目录image_data,并配置CDN域名的缓存时长为一个月(按照30天计算为2592000秒),然后客户端通过浏览器访问CDN资源URL地址http://image.example.com/image_data/_MG_0090.jpg,然后可以得到以下响应信息,说明文件已经是从CDN节点上下载到的,并且缓存时间也按预期设置为30天。

    image.png

  2. 验证静态资源加速效果:使用阿里云应用实时监控服务ARMS来检测,使用云拨测功能,检测点设置为海外主要国家和地区(美国、日本、法国、英国、德国、泰国、越南、中国香港、新加坡、印度尼西亚),测试文件大小为542.169KB,下面第一张截图是优化之前(直接访问源站)的数据,第二张截图是优化以后(经过CDN加速)的数据,可以看到经过CDN加速以后,数据传输速度更快、耗时更短。

    image.png

    image.png

清理资源

在本方案中,您在对象存储 OSS中上传文件、在CDN中创建加速域名,测试完方案后,您可以参考以下规则处理对应产品的资源,避免继续产生费用:

  • 删除对象存储 OSS中文件资源和Bucket:

    1. 登录OSS控制台,单击Bucket列表,然后单击目标Bucket名称。

    2. 在左侧导航栏,选择文件管理 > 文件列表

    3. 选中一个或多个Object,单击下方的彻底删除

    4. 在弹出的对话框中,单击确定删除文件。

    5. 单击删除Bucket,然后按照页面指引完成删除操作。

  • 删除CDN加速域名:

    1. 登录CDN控制台

    2. 在左侧导航栏,单击域名管理

    3. 在域名管理页面,定位目标域名,在操作列中,选择...图标单击 删除

    4. 在确认删除域名对话框中,单击确定

一键部署

30

https://www.aliyun.com/solution/tech-solution/fdaaco

方案概述

运营电商网站时,网站会产生海量的商品详情数据(例如:图片、视频等),在源站使用阿里云OSS产品来存储静态文件的情况下,要保障所有用户都能够流畅地访问网站,可以使用阿里云CDN产品来分发OSS上的文件,以提高网站的访问性能,并且降低流量费用。业务价值和优势如下:

  • 用户访问网站资源,全部通过CDN来分发流量,以降低源站压力。

  • CDN提供了低流量成本的文件内容分发服务,并且采用阶梯定价方式,用量越大,流量单价越低。

  • 用户从距离客户端最近的CDN节点获取资源,减少网络传输距离,保证静态资源传输质量。

方案架构

电商网站的将静态资源存储在OSS上,CDN会将OSS源站的静态资源(图片文件、音频文件、视频文件等)提前缓存到CDN全球加速节点,用户请求访问或下载资源时,可以就近获取CDN节点上已缓存的资源,实现资源加速。默认设置完成部署后的网站运行环境如下图所示。实际部署时您可以根据资源规划修改部分设置,但最终形成的运行环境与下图相似。

O1CN017NIY1G1iYhSmuoAdP_!!6000000004425-0-tps-1520-724.jpg

本方案的技术架构包括以下基础设施和云服务:

  • 对象存储 OSS:用于存储电商网站产生的商品详情介绍材料。

  • 内容分发网络 CDN:用于加速电商网站的静态文件资源。

部署准备

10

开始部署前,请按以下指引完成账号申请、账号充值、RAM用户创建和授权。

  1. 如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册并完成个人实名认证。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 为阿里云账号充值。为节省成本,本方案默认选择使用按量付费,使用按量付费资源需要确保账户余额不小于100元。完成本方案的部署及体验,预计费用约为5元(假设您配置CDN产品和OSS产品时均选择采用按量付费方式,且方案验证过程中产生的流量在10GB以内。实际情况可能会因您操作过程中使用的流量大小差异,导致费用有所变化,请以控制台显示的实际报价以及最终账单为准)。

  3. 您已经拥有了至少一个域名,且域名已经备案。如果未备案,可登录阿里云ICP代备案管理系统完成备案。

  4. 阿里云账号拥有操作资源的最高权限,从云资源安全角度考虑,建议您创建RAM用户。RAM用户需要获得相关云服务的访问权限才能完成方案部署,详情如下:

    云服务

    需要的权限

    描述

    内容分发网络 CDN

    AliyunCDNFullAccess

    管理内容分发网络CDN的权限

    对象存储 OSS

    AliyunOSSFullAccess

    管理云服务器OSS的权限

    创建RAM用户并进行授权的操作指引请参见创建RAM用户为RAM用户授权

一键部署

10

ROS一键部署

资源编排(ROS)可以让您通过YAML或JSON文件清晰简洁地描述所需的云资源及其依赖关系,然后自动化地创建和配置这些资源。您可以通过下方提供的 ROS 一键部署链接,来自动化地完成这些资源的创建和配置:

  • 创建1个对象存储OSS Bucket。

  • 创建1个CDN加速域名,并设置前面创建的OSS Bucket为源站。

  1. 打开一键配置模板链接前往ROS控制台,系统自动打开使用新资源创建资源栈的面板,并在模板内容区域展示YAML文件的详细信息。

    说明
    • ROS控制台默认处于您上一次访问控制台时的地域,请根据您创建的资源所在地域修改地域后再执行下一步。

    • 这里的ROS一键部署模板中,不包含配置CDN加速域名的CNAME解析记录,如需配置CDN加速域名的CNAME解析记录,请参考手动部署的部署步骤。

  2. 确认好地域后,保持页面所有选项不变,单击下一步进入配置模板参数页面。

  3. 配置模板参数页面修改资源栈名称,配置加速域名、加速区域、存储空间名称等。填写完所有必选信息并确认后单击创建开始一键配置。

  4. 资源栈信息页面的状态显示为创建成功时表示一键配置完成。

验证及清理

10

方案验证

  1. 验证静态资源缓存策略生效:上传一张图片 _MG_0090.jpg 到OSS的bucket地址image-test的目录image_data,并配置CDN域名的缓存时长为一个月(按照30天计算为2592000秒),然后客户端通过浏览器访问CDN资源URL地址http://image.example.com/image_data/_MG_0090.jpg,然后可以得到以下响应信息,说明文件已经是从CDN节点上下载到的,并且缓存时间也按预期设置为30天。

    image.png

  2. 验证静态资源加速效果:使用阿里云应用实时监控服务ARMS来检测,使用云拨测功能,检测点设置为海外主要国家和地区(美国、日本、法国、英国、德国、泰国、越南、中国香港、新加坡、印度尼西亚),测试文件大小为542.169KB,下面第一张截图是优化之前(直接访问源站)的数据,第二张截图是优化以后(经过CDN加速)的数据,可以看到经过CDN加速以后,数据传输速度更快、耗时更短。

    image.png

    image.png

清理资源

在本方案中,您在对象存储 OSS中上传文件、在CDN中创建加速域名,测试完方案后,您可以在ROS控制台直接删除资源栈并删除相关资源;也可以参考以下方式,手动处理对应产品的资源,避免继续产生费用:

  • 删除对象存储 OSS中文件资源和Bucket:

    1. 登录OSS控制台,单击Bucket列表,然后单击目标Bucket名称。

    2. 在左侧导航栏,选择文件管理 > 文件列表

    3. 选中一个或多个Object,单击下方的彻底删除

    4. 在弹出的对话框中,单击确定删除文件。

    5. 单击删除Bucket,然后按照页面指引完成删除操作。

  • 删除CDN加速域名:

    1. 登录CDN控制台

    2. 在左侧导航栏,单击域名管理

    3. 在域名管理页面,定位目标域名,在操作列中,选择...图标单击 删除

    4. 在确认删除域名对话框中,单击确定