本站提供互联网编程技术交流分享,部分技术教程不断更新中,请随时关注或联系我寻求帮助 有事点我吧同时也欢迎有兴趣的朋友进行投稿。

如何使用AWS的CloudFront做CDN

AWS 熊哥club 1292℃ 1评论

经过了几次折腾之后,网站在国内访问已经非常快速稳定了,
下面来研究一下境外的用户,要怎么让他们也能高速访问~~~

阿里云的CDN本来有境外节点,但是最近全部处在不能用的状态,
官方只是在帮忙文档里把几个节点列了出来,却不开放申请。
于是只能自己找境外的CDN了~~~

分线路域名解析

让国外用户访问国外的服务器,国内的用户访问国内的服务器,
要想做到这一点,就要在DNS解析的时候来分一下线路,
本来这个功能DNDPod是免费提供的,后来就不提供了,现在DNSPod的免费用户只能分联通移动教育网什么的,
但是好在阿里的云解析还是提供了,在这个服务在万网里,可以单独设置海外线路的解析。
只需要将国内的服务器设置给默认线路,将国外服务器设置给海外线路就可以了,过程非常简单,就不多说了。

使用AWS

AWS也算做云计算的鼻祖了,阿里云基本上是在做境内版的AWS,各项功能也越来越齐全了,
也跟Amazon一样是因为做电商才有这么大的服务器需求和用户量以及流量,再逐渐的开放给大家享用的。
先来看看AWS有些啥服务:
QQ20150123-5
主要的服务有:
EC2相当于阿里云的云主机ECS
S3相当于阿里云的开放存储OSS
Glacier相当于阿里云的开放归档OAS
CloudFront相当于阿里云的CDN
RDS相当于阿里云的关系数据库RDS
DynamoDB相当于阿里云的开放结构化数据库OTS
ElastiCache相当于阿里云的开放缓存OCS
VPC相当于阿里云的专有网络VPC
Route 53相当于阿里云的云解析
CloudWatch相当于阿里云的云监控
Elastic Beanstalk相当于阿里云的弹性伸缩ESS
SQS相当于阿里云的消息队列MQS。。。

同时AWS还有像邮件发送,云端桌面以及企业内部的安全存储服务。
相对来讲,AWS比阿里云的服务要成熟得多,用户当然也是多得多,
Identity & Access Management做的比阿里云好太多了。。。
不过鉴于我国网络国际出口的问题,显然没有办法使用AWS做为国内用户的服务器。
而且AWS的本地化只有介绍页面,后台什么的都还是英文的~~

现在AWS很厚道的提供了一整年的免费体验功能,
体验的EC2为tiny级别的实例(1核/1G)每个月运行750小时,
好处是没有数量限制,只要总时间不到750小时就不会额外收费,
如果只有一个实例的话,是怎么样都不会超过750小时的,31天只有744小时~

可以自由配置30G的存储,很厚道的是可以选择SSD。
于是我分了10G给系统盘,20G用于数据。

它的SSH连接验证方式是需要下载一个证书文件,
然后每次只要在连接的时候包含这个证书文件就可以了,不需要密码。
好处是安全了很多,缺点是登陆的不是root账号,基本上执行什么操作都要sudo。
还有就是它默认的安全设置入口流量不是公开的,这个要去设置一下才能连接。
不得不说在国内连一台国外的服务器真心很卡啊。。。

连上去之后就和阿里云的服务器一样了,
需要先格式化数据盘,挂载数据盘,然后安装Apache/PHP/FTP并配置。。
修改用户权限什么的,这些跟在阿里云上一样,就不用细说了。
设置好了vhost以及DNS解析就可以访问了~~~

AWS的计费方法非常非常复杂,各种操作都是收费的,相当于阿里云的按量付费,
所以一旦超过免费体验的部分,就可能会被扣钱,要先看清楚并做好心理准备。
另外RDS是超级贵的,基础价格远超过EC2。

使用S3和CloudFront

S3有了OSS的基础之后,上手很方便,界面其实比阿里云还烂。。
还有就是它的权限,需要在上传的时候指定所有人可访问,否则别人是访问不了的。
当然传完之后也可以设置某一个目录为public。
S3给免费用户提供了5G的存储空间,足够用了。

从S3设置CloudFront非常方便,选一下就可以了,
CloudFront给免费用户提供了50G的流量~~~

CloudFront的开通需要提供一个Business URL,AWS会发邮件给你,
只要直接回复就可以了,这个跟是不是商用的没关,
换句话说,就是需要你用一个自己域名的邮箱账号把自己的域名发过去~~
用于验证这个域名是属于你的。。。大概过半个小时就可以使用了。
QQ20150123-7

至于cnsjw.cn就没办法搬到AWS上了,不然更新起来太麻烦了,
所以就在境外用CloudFront来做一下CDN加速就可以了。

下面来设置一下cnsjw.cn的全站CDN以及OSS的CDN。
全站CDN是比较容易设置的,只要把源设为www.cnsjw.cn,
剩下都不用设置,然后绑定一下CNAME就可以了。。。
QQ20150123-8

至于图片那部分是放在阿里云OSS上的,绑定到img.cnsjw.cn之后,
再用阿里云的CDN加速,设置这个就麻烦一点,因为源的地址和分发的地址一致,
如果我设置源为img.cnsjw.cn,一旦把img.cnsjw.cn的国外线路解析做到CloudFront上,
它的源就悲剧的成了自己。。。
所以我需要在阿里云的OSS上再绑定一个二级域名用于给CloudFront做源。

这里看一下各地ping的值对比:
只用阿里云CDN的话:对于国外的用户来说延时还是有点高的。
QQ20150123-2

加了CloudFront之后:国外的延时小了很多很多。
QQ20150123-3

QQ20150123-10

总结
AWS可以说是阿里云的前辈,多看看前辈是怎么做的其实挺好的,
上手门槛还是比较高的,看网上很多人在吐槽他们的服务,工单没人回什么的,
需要买高级的服务才会得到更好的支持,当然对于免费用户来说这也是正常的。

另外需要注意的是AWS的一切服务全是收费的,包括安全,监控之类的,
而且它不像阿里云是扣费的,扣到0就暂停服务了,它是绑定信用卡的,那可是无底洞。。
一旦体验期到了,这些费用都会出来,一定要看好价格表,慎重选择要开通的服务。

经过使用阿里云的CDN和RDS服务,优化网站的访问速度,WordPress使用阿里云OSS及Super Cache
和这篇文章,就把整个网站优化和部署都讲的差不多了~~~
各位站长们遇到问题要找到问题在哪,重启是解决不了问题的~~~
我的阿里云服务器也差不多稳定的跑了200多天了~~~

暂时就把eitsh.com和reco.so的页面放在EC2上,静态文件放在S3上,
和cnsjw.cn的全部静态文件一起使用了CloudFront的CDN加速。
通过DNS分了线路~~~ 这样第一次访问的话可能比以前还要更慢,
但是只要有人访问过这个文件有了缓存,速度应该就比以前快多了。
在海外的小伙伴可以来体验一下速度如何~~~

本文地址: http://www.xiongge.club/170.html

转载请注明:熊哥club » 如何使用AWS的CloudFront做CDN

喜欢 (1)
[您的支持是我最大的动力]
分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. cname最后是怎么绑定的?
    cciehao2016-06-07 16:36 回复
×
订阅图标按钮