背景:
由于公司对资源文件的要求安全、保密。所以决定使用私有云来进行存储,但是系统是支持外网访问的,又不想占用公司的出口带宽,出于既想要又想要的贪心原则,故特研究下,私有云能否使用cdn加速服务?
提问:
大家都知道公有云是可以购买cdn的加速服务的,并且使用起来也很简单,只要将云资源地址通过cdn的域名地址访问,通过配置的cname地址就可以实现加速效果,那么私有云呢?
第一步:
购买oss的私有云服务来搭建属于公司的专有云
第二步:
购买cdn加速服务,这里的加速地址为bansheng.cdn.com
第三步:
进行dns的解析。将bansheng.cdn.com 配置cname记录,将bansheng.cdn.com 外网解析到bansheng.cdn.learn.com;内网解析到oss 的bucke域名bansheng-shenzhen.aliyuncs.com 。
验证方式:只要在内/外网 ping bansheng.cdn.com地址 就会发现请求的地址是不一样的
请求时的解析:当请求OSS云资源cdn加速地址时:bansheng.cdn.com/learn/2024/ww.mp4 , 内网的请求会被解析为:bansheng-shenzhen.aliyuncs.com/learn/2024/ww.mp4 ;外围解析为bansheng.cdn.learn.com/learn/2024/ww.mp4
原理:在这种情况下,系统配置了两种不同的DNS解析策略,分别用于内网用户和外网用户。具体访问的云资源地址如下:bansheng.cdn.learn.com/learn/2024/ww.mp4
外网用户:
- 访问地址:bansheng.cdn.learn.com/learn/2024/ww.mp4
- 由于bansheng.cdn.com配置了CDN加速服务,并且已经通过DNS解析将外围请求解析到了bansheng.cdn.learn.com,外网用户的请求将首先被路由到CDN服务。
- CDN服务将根据其缓存策略和地理位置信息,将请求定向到最近的边缘节点。
- 如果CDN边缘节点缓存了请求的内容(在这个例子中是
ww.mp4
文件),则直接从缓存中提供服务;如果没有缓存,则会从源站(OSS)获取内容并提供给用户。一旦CDN从源站获取了内容,它通常会将内容缓存到请求的边缘节点上,以便为后续的请求提供服务。然后,它将内容回传给您,完成服务
内网用户:
- 访问地址:bansheng-shenzhen.aliyuncs.com/learn/2024/ww.mp4
- 内网用户通过内网DNS解析,将bansheng.cdn.com解析到OSS的bucket域名bansheng-shenzhen.aliyuncs.com。
- 内网用户直接访问OSS中的资源,无需通过CDN加速服务。
- 由于是直接访问OSS,访问速度通常会更快,延迟更低,因为省去了通过CDN网络的步骤。
总结:
- 外网用户将访问CDN加速服务,通过bansheng.cdn.learn.com访问资源
ww.mp4
。 - 内网用户将直接访问OSS资源,通过bansheng-shenzhen.aliyuncs.com访问资源
ww.mp4
。