Amazon Cloud Front的s3存储桶与主机文件之间的区别

时间:2017-04-23 19:42:10

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

背景

我们开发了一个电子商务应用程序,我希望使用CDN来提高应用程序的速度,同时减少主机的负载。 该应用程序托管在EC2服务器上,现在我们将使用Cloud Front。

问题

在阅读了大量文章和文档后,我为我的示例网站创建了一个发行版。在完成所有经验后,我逐渐了解了以下内容。我想确定这些观点是否正确。

  1. 当我们创建分发时,它会从给定的原始路径获取所有可访问的数据。我们不需要将文件复制/同步到云前端。
  2. 我们只需要根据此分发CNAME更改应用程序的路径(如果给出了cname)。
  3. 将图像/ js / CSS文件放在S3或我们自己的主机上没有区别。 Cloud Front将单独使用它们。
  4. 应用程序将有数千张产品图片,如果我们将它们放在S3上,或者如果它们在主机上就可以了吗?请分享任何好的文章,以了解这两种技术的区别。

    因为如果S3明显更好,那么我必须让程序在S3上同步所有这些数据。

    感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

将图像存储在Amazon S3而非您自己的主机上(然后通过Amazon CloudFront提供)的一些原因:

减少服务器负载

即使内容缓存在Amazon CloudFront中,您的服务器仍然会遇到从每个边缘位置首次访问每个对象的请求(每个边缘位置都维护自己的缓存),每次对象过期时都会重复这些请求。 (刷新将生成HEAD请求,并且只会重新下载已更改或已从缓存中刷新的内容。)

更耐用的存储空间

Amazon S3会在同一区域内的多个可用区中保留您的数据副本。您还可以在服务器之间复制数据以提高持久性,但是您需要管理复制并为每台服务器上的存储付费。

降低存储成本

在Amazon S3上存储数据的成本低于将其存储在Amazon EBS卷上的成本。如果您计划在两个位置保留数据,那么显然使用S3会更昂贵,但您还应该考虑将其仅存储在S3上,这样可以降低成本,提高耐用性并降低成本在您的服务器上备份。

不使用S3的原因:

  • 更多移动部件 - 维护代码以将文件移至S3
  • 不如使用本地文件系统那么方便
  • 必须合并来自S3和您自己的服务器的日志文件以收集使用信息