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


当前回答

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

其他回答

如果您正在寻找一个全球分布式存储系统来防止区域/区域宕机,那么Amazon 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 Cloudfront还提供比Amazon S3更低的价格。

Cloudfront CDN用于跨地理分布的多个服务器分发内容 JS (CSS) 而s3更多的是每个用户使用较少的资源存储(用户图像,pdf)。

你可以从s3桶中提供Cloudfront资源,完全绕过你的web服务器。

(在web服务器预编译和存储图像和java脚本的情况下很有用。将它们存储在s3上意味着您的服务器内存占用减少)

例子:在Heroku Slugs上(编译的应用程序大小可以通过使用s3来减少,并将其包装为云前端CDN将提高吞吐量)

在S3上使用CloudFront的另一种情况是,您可以在CloudFront中使用SSL证书到自定义域,而在S3中则不能。一个很好的理由!