使用AWS CloudFront重新启动

时间:2015-12-22 08:18:47

标签: amazon-web-services amazon-s3 dns amazon-cloudfront

我们都知道CloudFlare有一项功能,如果您的服务器处于脱机状态,它将开始提供您网站的缓存版本 - 是否出现了严重问题,或者您是否正在进行简单的重启。< / p>

我一直在寻找网络的高低,如何用CloudFront做同样的事情,但我似乎无法挖掘出与此事有关的任何资源。

你有什么指针吗?

4 个答案:

答案 0 :(得分:4)

最好的办法是在服务器前放置一个负载均衡器(例如使用Elastic Load Balancer),然后启动另一台复制现有站点的服务器。如果特定服务器脱机,您还可以使用Elastic IP Address重新路由流量。

然后,您可以使用共享MySQL服务器(例如,多可用区配置中的AWS RDS以获得额外冗余)以及GlusterFS,以使两个Web服务器上的网站文档根目录同步。 DigitalOcean在此提供了相关指南:https://www.digitalocean.com/community/tutorials/automating-the-deployment-of-a-scalable-wordpress-site

我强烈推荐CloudFlare而不是AWS CloudFront,CloudFlare还有许多其他好处(例如CloudFlare has HTTP2 support where CloudFront does not)。

答案 1 :(得分:3)

CloudFront将从您的来源获取您的资源,在第一次查看者请求时将其存储在边缘位置,并将缓存版本返回到后续查看者请求。

对象在边缘位置过期后,CloudFront将再次联系原点以确定缓存是否具有最新版本的对象,如果没有,则获取最新版本。如果您的源服务器此时不可用,CloudFront会将该对象的[陈旧]缓存版本返回给查看器。

请参阅此处的CloudFront文档 - http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HTTPStatusCodes.html#HTTPStatusCodes-no-custom-error-pages

答案 2 :(得分:3)

将您的流量始终指向CloudFront 。 CloudFront将根据需要从您的服务器中提取内容(例如,如果CloudFront已经拥有足够新的页面缓存副本或其他资源,它将提供该缓存副本)。如果您的服务器由于重新启动而出现故障,或者由于出现问题而且CloudFront有一个页面的缓存副本,CloudFront将提供缓存副本,无论其有多新鲜。

如果您需要在服务器关闭之前确保特定资源位于CloudFront的缓存中,只需使用Web浏览器点击该页面即可。这将使CloudFront从其缓存中提供页面或从原始服务器中提取页面;在任何一种情况下,最终结果是页面都缓存在CloudFront中。

答案 3 :(得分:2)

Cloudfront只缓存静态内容。它只不过是一个CDN。

如果您的服务器需要重新启动,我认为它是一个标准的Web堆栈。如果是这样,您应该使用具有多台机器的ELB。如果您认为cloudfront正在完成大部分工作,那么您可能可以使用微实例。

如果您有静态网站,请使用S3。它没有重启,你可以轻松地通过cloudfront CDN。不需要ELB