理解阿里云的OSS和配套CDN,看这一篇就够了

相信大家对OSS和CDN并不陌生。在静态文件多的时候我们通常会选择使用CDN来替代服务器完成与客户端的交互。

我们之前为大家介绍了 如何使用Cloudreve搭建一个网盘服务 ,今天我们为大家介绍如何使用阿里云的OSS和CDN服务,并在之后为大家介绍如何将两者进行对接。

阿里云提供 四块钱半年 40GB空间 的OSS体验服务,对于一个小站长来说是足够了,因此使用这一个服务是非常的划算。

在使用此服务之前需要先了解 阿里云OSS的收费标准 再根据自己的情况做决定

阿里云的这套方案比较适合小站长,数据量不大的情况 (比开一台大宽带的机子划算多了)

这套方案的成本主要来源于两个地方,一个是 储存费用 ,一个是 流量费用

一般来说我们使用的是标准型储存。他的储存单价是 0.12GB/元/月 (在没有订购任何资源包的情况下)

同时,阿里云有推出 40GB 4元 半年 的套餐。根据自身情况权衡利弊后,如果你觉得这个储存费用可以接受。那么我们接着继续。

流量费用分两种,一种是直连费用,也就是不经过CDN直接访问oss,目前单价是 0.5元/GB (闲时0.25元),这显然是太贵了,100GB的数据就得50元。。。。

但是我们可以注意到还有一个CDN回源流量,阿里的OSS支持与阿里自家的CDN联动。

这里简单说一下CDN的工作方式:

当你的oss绑定了cdn之后,你可以通过访问cdn的域名来访问你的oss

例如你在 OSS 上传了 a.zip 这个文件,你访问了cdn的域名想下载这个文件,cdn先在自己的缓存中查找 a.zip 这个文件,发现没找到,于是去源站oss找这个文件。如果找到了,就会放到cdn自己的缓存中。并根据你设定的时间保存缓存。这个过程就称为 回源 , 这个时候oss流出的流量就叫 回源流量 (0.15元/GB)

当下次你再访问cdn下载 a.zip 这个文件的时候,因为上次cdn已经前往oss缓存过这个文件了,所以这次的请求不经过 OSS ,由cdn自主把它拥有的缓存文件发给你 , 也就是说 理论上不产生OSS的流量费用

所以,当你使用CDN之后,只有第一次访问这个文件会产生OSS的回源流量,只要你在CDN中设置的缓存足够久,每次访问的流量理论上几乎不经过OSS,而是产生CDN的流量费用。那我们来看一眼CDN的流量费用

CDN有两种计费方式,第一种是按流量计费,另一种是按宽带计费,我们只以按流量计费为例子。

可以看到在 0GB – 10TB 阶梯的中国内地流量费用是 0.24元/GB 整整比OSS便宜了一半

此外,阿里云CDN还有一个体验的优惠套餐:100GB下行流量一年只要16元

也就是说,使用这一套方案的流量费用基本上是 0.24元/GB (阿里云ECS按量计费宽带的费用是 0.8元/GB)
而且速度基本可以跑到 10MB/s 以上,是比较低成本的方案。

但是储存费用并不低,高达0.12元/GB/月,也就是说100GB的数据每月需要12元。当然要是你的CDN命中率非常高,OSS基本上不怎么回源,也可以使用更加划算的 低频访问型 甚至是 归档类型(一分钟解冻时间) 储存方案。

但是我们这种小站长使用40GB的优惠套餐以及足够了。

实战:搭建一个OSS和与之配套的CDN

首先你可以按需去购买OSS和CDN的优惠资源包。可以在产品主页找到

首先我们新建一个OSS的储存桶

点击创建 Bucket 创建一个储存桶

根据自己的需要进行选择。
名称根据自己的需要进行定义,区域可以选择跟自己的轻量服务器或者ECS相同的区域,这样就可以共享内网大宽带了(服务器访问OSS免流量费)

需要注意的是如果你主要提供的是静态文件的下载和分发服务,而不是用来扩容ECS的储存空间,那么我推荐你选择 公共读 权限,这样可以保证每个文件都尽可能地被CDN回源

这里我创建了一个名为 static-m-jay 的储存桶

随后点击传输管理,再点击绑定域名来申请一个CDN

这里默认你的域名是在阿里云申请的而且已经备案

这里我绑定了一个名为 static.m-jay.cn 的域名

点击提交之后再点击配置CDN加速

一般不需要做任何修改,直接下一步即可

等待CDN创建成功,并检查域名的CNAME记录是否正确

出现类似于这样的结果就表示你的CDN创建成功了,点击管理链接,对CDN进行设置

开启HTTPS

现在已经是0202年了,不支持https的网站会被淘汰。阿里云可以帮你免费申请一年的ssl证书并且会自动续费。

点击https配置,点击修改配置

选择免费证书并勾选同意。点击确定 等待片刻 直到证书申请完毕之后刷新页面

防盗链

这个世界上吃饱了没事做的人很多,亦或是出于商业竞争的原因。可能会有人故意频繁访问你的网页来消耗你的CDN流量,但是CDN流量统计是有延迟的。当你发现的时候可能房子都已经是阿里云的了。

防盗链可以防止别人从其他的网页盗用你的图片资源。

点击防盗链,点击修改配置

一般来说只允许自己的域名就可以了。

如果勾选允许空Referer的话即允许用户不通过任何网页直接在地址栏输入地址即可访问你的资源
一般建议取消勾选,可以一定程度上抵御一些低级的攻击
但是在调试阶段我们可以勾选方便自己调试

宽带限速

我们刚才已经提到了安全的问题,为了防止类似的情况发生我们可以限制宽带的速率,这样的话即使被攻击也不至于被坑得很惨

私有Bucket设置

如果你创建了一个私有的Bucket,同时套用了CDN (我并不知道你这样做是不是闲的蛋疼)请勾选私有Bucket的回源功能

如果你是公共权限的Bucket,请不要勾选此选项

缓存设置

这也就是我们使用CDN最大的一个优势了,我们尽量设置一个较大的缓存时间,让用户的访问尽可能多地命中CDN,达到节省OSS流量开销的目的。

我直接把所有文件后缀的文件的缓存时间都设置为了三年,最大程度保证缓存的命中率。

但是如果OSS内的文件变更了怎么办?不要着急!

CDN 缓存自动刷新

阿里的OSS提供了自动刷新CDN缓存的功能,当OSS内文件发生改变时,会自动通知CDN刷新该文件。这也就是我上面敢直接设置三年的原因….

回到OSS的界面就可以看到了,一般把能选的都选上就行

其他的配置可以根据自己的需要来设置。这篇文章就介绍到这里。

拥有这个基础之后我们接下来将为大家介绍如何将OSS+CDN这套服务对接到cloudreve上。

相关文章

One comment

  1. […] 我们已经介绍过 如何在一台Linux服务器上部署Cloudreve程序 ,以及 如何部署阿里云的OSS以及配套的CDN […]

Leave a Reply