AWS: CloudFront(CDN)的使用系列之二——Load Balancer(ELB)源为例

时间:2024-05-21 07:53:02

系列

AWS: CloudFront(CDN)的使用系列之一——S3为例

AWS: CloudFront(CDN)的使用系列之二——Load Balancer(ELB)源为例

简介

本文是以EC2+ELB作为CloudFront的源的一个例子,首先创建一个EC2, 然后在此EC2的上面加一层Load Balancer,然后将此ELB作为源创建CloudFront, 以便对我们的网站起来加速的效果。

创建EC2并创建一个网站

可以看下面在EC2上创建了一个简单的网站,index.html文件是我们的首页,test.txt是作为健康检查的一个文件,里面的内容随填。

AWS: CloudFront(CDN)的使用系列之二——Load Balancer(ELB)源为例

 网络安全组中inbound加入80端口后,才可以像下面这样访问AWS: CloudFront(CDN)的使用系列之二——Load Balancer(ELB)源为例

创建ELB

创建ELB的过程直接按照它的向导来,创建好之后呢,会出现如现DNS name,等它的状态变成active之后,就可以浏览器中访问到它了。

AWS: CloudFront(CDN)的使用系列之二——Load Balancer(ELB)源为例

 ELB这里是只监听80端口, 目前我这里只使用了一个EC2,所以这个ELB监听到外部的80端口请求后,将请求直接转到EC2的80端口上。 这里对应的Target Groups名是 mygroup

AWS: CloudFront(CDN)的使用系列之二——Load Balancer(ELB)源为例

在Target Groups一定要保证你的实例是健康状态。如下图

AWS: CloudFront(CDN)的使用系列之二——Load Balancer(ELB)源为例

那它是怎么知道你的实例是否健康呢,它会定时去检测你下面的这个文件是否存在,如果存在的话就是健康的。

 AWS: CloudFront(CDN)的使用系列之二——Load Balancer(ELB)源为例

 配置好后,我就可以在浏览器*问那个DNS name了(网络安全组中inbound包含80端口),如下图

AWS: CloudFront(CDN)的使用系列之二——Load Balancer(ELB)源为例

 配置CloudFront

这里我们选择ELB作为数据源,使用ELB作为数据源的前提是ELB的DNS name一定是可以公开访问的。

AWS: CloudFront(CDN)的使用系列之二——Load Balancer(ELB)源为例

 其它的设置都默认就好了, 等待漫长的15分钟后,CloudFront就部署好了。

AWS: CloudFront(CDN)的使用系列之二——Load Balancer(ELB)源为例

创建好后,它会创建出一个加速域名http://dyn2sxl0rp3a3.cloudfront.net/ ,访问一下,然后再刷一下浏览器看看,结果被cdn hit了,成功了,如下图

AWS: CloudFront(CDN)的使用系列之二——Load Balancer(ELB)源为例

在域名解析处配置

由于本人没有申请域名,这里就没有截图了,一般加速域名http://dyn2sxl0rp3a3.cloudfront.net/ 很丑,所以在域名解析的地方要配置一个CNAME,用一个友好一点域名指向它,比如使用: <beauty>.com 指向http://dyn2sxl0rp3a3.cloudfront.net/ 就可以了。

之后用户直接访问<beauty>.com就可以了,而且速度也很快。