欢迎访问敏捷云!

【敏捷云 · 分享】有一个很好的云服务叫AWS CloudFront(CDN系列之一)

2020-11-04 原创文章
Agilewing CDN

现在都市人越来越依赖移动互联网,商家也顺应趋势把商品从实体店搬上了网络,从网上购物到在线点餐,大家都通过官方网站浏览了解想要的商品。在这种情况下就需要为这些产品建立一个全球化的网站,以便全世界的用户能快速浏览到他们想要了解的产品。

那么,如何才可以让全球的用户以最快的速度打开站点呢?今天就让我们一起来了解一下。

全球的网络传输依托于光纤,而光的速度是不变的,距离服务器越远的用户延迟就会越高,经过的路由也会越多,速度也会越慢。那么如何克服这些困难,给用户一个好的的体验?AWS云服务中又有哪个产品可以帮助我们去实现呢?这里我们要给大家介绍一个很好的云服务:CloudFront。CloudFront是怎样的服务呢?它拥有怎样的功能?能帮助客户解决什么问题呢?我们在后面将一一为大家解答。

什么是CloudFront

CloudFront是AWS推出的CDN服务,它能加快将静态和动态Web内容(如.html、.css、.js和图像文件)分发到用户的速度。CloudFront通过全球数据中心网络传输内容,这些数据中心称为边缘站点。当用户请求您用CloudFront提供的内容时,用户被路由到提供最低延迟(时间延迟)的边缘站点,从而以尽可能最佳的性能传送内容。

CloudFront通过支持的应用程序编程接口访问 Amazon S3 中的数据,并将其置于区域数据存储区中。其他亚马逊网络服务,包括亚马逊 EC2,也可以通过 EC2 处理流数据并通过 CloudFront 将其传递给最终用户。与所有其他亚马逊网络服务产品一样,CloudFront具有可扩展性,灵活性,可作为即用即付服务提供。

什么是CloudFront

AWS CloudFront 全球CDN网络布局

目前AWS CloudFront在全球42个国家/地区的84个城市里,共部署了217 个节点(PoP),是全球节点最多的云应用。

AWS CloudFront 全球CDN网络布局

CloudFront的使用场景

介绍完AWS CloudFront与AWS CloudFront的全球部署,现在为大家提供2个AWS CloudFront的使用场景以及使用技巧,让大家更直观地理解AWS CloudFront。

如文章开头所说,客户的应用网站是对全球用户开放,用户都希望访问网站的延迟尽量低,而且某些地区要求用户访问本地区的服务器,因此只能在要求的地区部署一套应用网站。这样客户会有多套应用网站部署在全球各地,并且客户希望全球用户访问网站时,能根据地理位置到最近的服务器去获取资源来进一步降低延迟。

在这种情景下,Route 53 +CloudFront+Lambda@Edge的解决方案可以帮助客户解决问题。利用AWS全球内容分发服务(CloudFront)与智能域名解析(Route 53)的优势,实现全球用户访问网站低延迟的同时,使用lambda@Edge对用户的请求URL进行地理位置的归属,并重定向URL到离用户最近的服务器,来进一步降低延迟。

场景架构图 场景架构图

除了降低延迟,我们还可以使用CloudFront对静态资源进行加速。

当客户的网站上有很多静态资源时(如图片、视频、前端静态代码等),每次客户首次访问都需要从服务器拿取这些资源,而这些资源大多都是重复不变的,这样会给服务器造成很大的负担,当用户首次访问量多时,服务器很可能会超负载运行,这样不仅客户访问网站有延迟的感觉,严重时网站可能会崩溃,传统的解决方案是使用性能更高的服务器或增加服务器数量,但这种方案不仅会使成本成倍增加,还会使在客户访问量少的时候浪费了服务器的性能,造成资源浪费。

基于用户体验与减少成本下,S3+CloudFront+ELB+AutoScaling+EC2的解决方案能很好的解决这样的问题。

架构图 场景架构图

看完上面的介绍,您是不是已经对什么是CloudFront与CloudFront的全球部署有了一定的认识?今天就先带大家进入到CloudFront世界,下一篇我们将更详细地讲解CloudFront的原理,也就是CDN内容分发网络。