

对象存储和高防CDN实现分析揭秘,高防cdn通过什么方式防御对象存储和高防御CDN实施的分析和揭示分享一个关于对象存储和高安全性CDN结合的话题。一般来说,公有云厂商除了提供对象存储服务之外,还会提供一些增值服务,适用于不同的应用场景。你什么意思对象存储本质上解决了海量存储的问题,但是数据不仅要可靠地存储,而且在大多数......
分享一个关于对象存储和高安全性CDN结合的话题。一般来说,公有云厂商除了提供对象存储服务之外,还会提供一些增值服务,适用于不同的应用场景。你什么意思
对象存储本质上解决了海量存储的问题,但是数据不仅要可靠地存储,而且在大多数情况下还要经过处理才有价值。所以一般公有云厂商也会提供数据处理服务,比如图像处理、缩略图像、音视频转码、视频切帧等。
其次,数据访问也有特殊要求,比如一次上传,多次下载,所以CDN服务要配合使用,因为高安全性CDN的下载流量会低于下载对象存储服务的成本。
什么是CDN内容分发网络,本质上是部署在全球的边缘服务器,提供就近访问数据的体验,有效减轻数据服务器的后端压力。
在技术实现上,CDN实际上是后端服务器的缓存代理。
示意图:
公有云厂商在提供对象存储服务的同时,也会提供cdn服务。因为这两个服务是一体的,一起操作自然方便。
数据上传:
数据上载对象存储服务的域名(端点);
数据下载:
数据下载可以取对象存储服务的域名;
也可以下载cdn域名;
对象在打开cdn后存储使用cdn服务的客户端的域名请求数据。如果数据不在cdn服务中,cdn服务将自动使用对象将桶域名存储回源,并将数据拉至cdn缓存。之后,所有的压力都卸在了cdn服务上。因此,从上面的描述中,我们再次认识到cdn实际上是后端存储服务的一个简单的缓存代理。如果业务要使用cdn,需要指定cdn服务的域名和对象存储的域名,并在cdn服务中配置映射关系(这一步其实是公有云厂商在做)。上传数据使用对象存储域名,读取数据使用cdn域名。
cdn回源使用方案
当cdn用户请求失败时,需要回到源端和后端拉取数据。所以不知道大家有没有想过,CDN是用什么样的方案来加快数据采集的速度。(因为S3协议是授权验证,也就是数字签名,S3 v4协议会在数字身份验证中给主机签名,也就是一般情况下cdn不能直接转发)。一般来说,对象存储服务和cdn的协同实现有三种解决方案:
预签名
授权阅读
公众阅读
预签名
预签也叫预签。在这个方案中,客户端已经充分准备了签名,所有的签名元素和验证都在查询url中。在这个场景中,Cdn实际上是一个纯粹的转发代理。但是,presign有一个限制,只能使用S3 V2版本签名,因为cdn返回源时主机会发生变化,v4版本签名会由主机会签,所以这种情况下签名验证会失败。
策略授权方案
这是一般的方式。S3桶支持细粒度的权限分配,即策略策略。它允许将各种操作权限分配给各种指定的对象。
在公有云上,用户申请cdn服务的资源,主要做几个配置(公有云厂商帮你搞定):
提供CDN域名和Bucket域名的映射关系
服务和CDN之间的身份验证模式
公有云厂商也会授予业务端读取cdn服务的桶。这样,当cdn未命中,cdn返回源时,可以用自己的账号向对象存储服务请求数据(因为cdn加速启动时,已经通过策略授权给CDN,所以可以读取数据)。
公众阅读计划
S3桶可以配置为公共阅读,也称为匿名访问。任何客户端都可以通过curl直接获取数据,所以cdn自然可以获取数据。这是一个特殊的方案,我们通常不这么做。这种方法可想而知,适用场景有限,因为无法保证数据安全。
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部