系列
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是作为健康检查的一个文件,里面的内容随填。
网络安全组中inbound加入80端口后,才可以像下面这样访问
创建ELB
创建ELB的过程直接按照它的向导来,创建好之后呢,会出现如现DNS name,等它的状态变成active之后,就可以浏览器中访问到它了。
ELB这里是只监听80端口, 目前我这里只使用了一个EC2,所以这个ELB监听到外部的80端口请求后,将请求直接转到EC2的80端口上。 这里对应的Target Groups名是 mygroup
在Target Groups一定要保证你的实例是健康状态。如下图
那它是怎么知道你的实例是否健康呢,它会定时去检测你下面的这个文件是否存在,如果存在的话就是健康的。
配置好后,我就可以在浏览器*问那个DNS name了(网络安全组中inbound包含80端口),如下图
配置CloudFront
这里我们选择ELB作为数据源,使用ELB作为数据源的前提是ELB的DNS name一定是可以公开访问的。
其它的设置都默认就好了, 等待漫长的15分钟后,CloudFront就部署好了。
创建好后,它会创建出一个加速域名http://dyn2sxl0rp3a3.cloudfront.net/ ,访问一下,然后再刷一下浏览器看看,结果被cdn hit了,成功了,如下图
在域名解析处配置
由于本人没有申请域名,这里就没有截图了,一般加速域名http://dyn2sxl0rp3a3.cloudfront.net/ 很丑,所以在域名解析的地方要配置一个CNAME,用一个友好一点域名指向它,比如使用: <beauty>.com 指向http://dyn2sxl0rp3a3.cloudfront.net/ 就可以了。
之后用户直接访问<beauty>.com就可以了,而且速度也很快。