为什么我不应该使用Amazon S3托管静态网页


11

我记得在某个地方读到,使用Amazon S3托管静态网站存在严重的陷阱。我忘记了那是什么。在我看来,S3似乎是一个完美的选择。超级快速,超级可扩展,并随用随付。

使用S3托管静态网站的负面影响是什么?


简而言之,下面的答案并没有说明不使用S3的任何充分理由。www重定向现在很容易解决。
JohnAllen

Answers:


11

我仍然感到震惊的是,人们认为内容交付网络很昂贵,大多数收费仅为每GB 0.20c。

在CDN上为静态网站提供服务非常了不起-您无需花钱即可获得专用服务器的性能,而且您在全球所有主要地区都拥有一台服务器,因此在速度和可扩展性方面其效果实际上要优于专用服务器。

在CDN上托管时,有一些主要的挫折,它们是:

没有PHP档案

PHP支持(您需要通过Ajax使用联系表格来从其他地方检索contact.php,HTML方法很糟糕–如果您不需要联系表格,那么(很棒!)对于注释,您可以使用Disqus,这是JavaScript。)

CNAME问题

遗憾的是,大多数CDN不支持非www CNAME,因此当有人忘记了www时,您就无法解析域,这不是主要问题,但是可以通过多种方法解决。您设置了EC2或共享主机,并让其通过重定向处理非www。因此,每当有人忘记了www与服务器进行通信时,它就会正确地重定向到CDN。一种替代方法是选择一个支持此功能的CDN-我相信Limelight可以,但Amazon和Rackspace不支持。我听说Limelight托管DNS并在其系统上手动进行编辑,但我自己从未做过此事,因此无法确定它们是否这样做。

内容更新

另一个缺点是您需要清除编辑的内容或文件,例如说您对index.html进行了一些添加,则需要在容器上设置一个短暂的到期时间,或者手动从中清除该文件。缓存,以便在全世界范围内进行更新。

摘要

在CDN上托管静态网站是静态的-我在CDN上运行了几个静态网站,而且它们都是静态的,我在每个网站上仅使用1-2GB,每个网站的费用为0.24英镑,比共享主机,并为您提供专用服务器的性能。如果您要设置EC2以外的小型VPS进行重定向,则任何128mb的VPS都可以做到。您可以以每月1美元的价格获得便宜的产品。只是Google 128mb VPS或每月5美元以下的VPS-有数百家公司针对花生使用低规格VPS就能解决问题。


1
Cloudflare的非www cname名称没有问题。再加上免费套餐也不错
elssar

亚马逊有一个称为Route 53的dns服务,可用于将tld路由到www子域。
帮派

具体来说,AWS Route 53具有ALIAS记录,您在其中输入了另一个主机名(就像对CNAME所做的一样),但是DNS服务器会定期(秒)进行查找,并将记录与IP地址一起提供(A记录)。
斯蒂芬·奥斯特米勒

2

问题出在“现收现付”部分。

如果您获得大量流量(即:DOS攻击或非常流行的博客文章或文件),则需要付费。

AFAIK仍然没有为您支付的金额设置上限的功能。您可以设置帐单提醒,但是如果帐单达到最大预算,您唯一的选择就是关闭网站,否则您将为获得的所有流量付费。


需要考虑的事情:Heroku允许您仅支付所需的费用,但是您最终可能会失去一些无法访问该网站的访问者。另一方面,AWS可让您确保捕获所有访问者,但您必须为此付费。根据您是否设置广告/将点击转化为现金的其他某种形式,您随用随付的要求可能会有所不同;例如,一个小型的酷网络应用程序可能会受益于Heroku(或类似服务)。
Abhishek Divekar '17

2

S3并不是AWS静态网站托管的唯一工具。推荐的方法是将CloudFront放在S3实例的前面,以便CloudFront可以处理缓存。我相信这也将消除您为增加流量而付出的麻烦,因为CloudFront将使用其缓存来提供文件,而不用命中S3。当然,您必须为CloudFront付费,但是成本会更低(我认为)。

这是有关将CloudFront添加到S3站点的文章:

http://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-create-cfdist.html


1

就带宽而言,它实际上有点高估了。直到最近,他们还遇到了一个问题,即您无法同时将@和www A记录都映射到您的站点(因此您可以访问mydomain.com或访问www.mydomain.com)。但是,此问题已在最近的更新中修复。

就个人而言,我认为它们的价格过高,并且您缺少很多不错的功能(重定向,htaccess等)。S3可以很好地托管大型文件和图像。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.