是否有用例更适合Amazon cloudfront而不是s3,或者相反?我试着通过例子来理解两者之间的区别。


当前回答

如果您正在寻找一个全球分布式存储系统来防止区域/区域宕机,那么Amazon S3是一个很好的对象存储平台。它也适用于静态/固定的非事务性和可更改的内容,如图片、视频、图像、备份等。希望有帮助!

其他回答

如果您正在寻找一个全球分布式存储系统来防止区域/区域宕机,那么Amazon S3是一个很好的对象存储平台。它也适用于静态/固定的非事务性和可更改的内容,如图片、视频、图像、备份等。希望有帮助!

Amazon S3专为在特定地理区域内存储大容量、低成本文件而设计。存储和带宽成本相当低。

Amazon CloudFront是一个内容分发网络(CDN),它在尽可能靠近用户的边缘位置代理和缓存web数据。

当最终用户使用此域名请求对象时,他们将自动路由到最近的边缘位置,以高性能地交付您的内容。(亚马逊)

CloudFront提供的数据可能来自S3,也可能不是。由于它对传输速度进行了优化,因此带宽成本略高。

如果您的用户基础是本地化的,那么使用S3或CloudFront不会有太大区别(但是您必须为S3桶选择正确的位置:US、EU、APAC)。如果您的用户群分布在全球,并且速度很重要,CloudFront可能是一个更好的选择。

S3和CloudFront都允许使用域别名,但是CloudFront允许使用多个别名,这样d1.mystatics.com、d2.mystatics.com和d3.mystatics.com都可以指向同一个位置,从而增加了并行下载的容量(这过去是谷歌推荐的,但随着SPDY和HTTP/2的引入,重要性就不那么重要了)。

CloudFront在2014年也支持CORS(感谢sergiopantoja)。

*注意:从2015年开始,S3现在可以自动复制到其他区域。

CloudFront和S3 Bucket是不一样的。通俗地说:CloudFront使您能够通过边缘位置的内容交付网络(CDN)加速web内容的内容交付,而S3桶是您存储实际文件的地方。CloudFront的源代码不一定来自S3,但为了更容易地可视化S3与CloudFront的集成:

另一个主要区别是CloudFront允许您在服务器上镜像站点。然后Cloudfront使用其内容传输网络缓存图像、mp3或视频等文件。

这使您不必像使用Amazon S3时那样复制资产。

但是,在文件过期后,CloudFront将从您的活动站点再次获取它(以成本为代价)。因此,云前端最适合访问频繁的文件,而不太适合访问不频繁的文件。

为apache设置文件过期的一种方法是在.htaccess中。例如

<filesMatch "\\.(mp3|mp4)$">
Header set Cache-Control "max-age=648000, private"
</filesMatch>

首先,我想解释一下,Amazon S3是云存储,云前端是内容交付网络(CDN)。

因此,您可以用来在S3上存储文件,并可以创建分发以通过internet提供内容。此外,您还可以为特定区域创建分布。