何时使用Amazon Cloudfront或S3

是否有使用案例可以使自己更好地适应亚马逊的s3或其他方式? 我试图通过例子来理解两者之间的区别。

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

Amazon CloudFront是一个内容交付networking(CDN),用于在边缘位置尽可能靠近用户来代理和caching网页数据。

当最终用户使用此域名请求对象时,它们将自动路由到最近的边缘位置,以便高效传送您的内容。 ( 亚马逊 )

CloudFront提供的数据可能来自或不来自S3。 由于它的传输速度更加优化,所以带宽成本更高一些。

如果您的用户群是本地化的 ,那么与S3或CloudFront(但您必须为您的S3存储区select正确的位置:美国,欧盟,亚太地区)的差异不会太大。 如果您的用户基础遍布全球并且速度非常重要,那么CloudFront可能是更好的select。

S3和CloudFront都允许域别名,但CloudFront允许多个别名,以便d1.mystatics.comd2.mystatics.comd3.mystatics.com都可以指向相同的位置,从而增加了并行下载的容量(以前是由Google推荐,但引入SPDY和HTTP / 2则不太重要)。

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

*注意:截至2015年,S3现在可以自动复制到其他地区。

另一个主要区别是,cloudfront允许您镜像您的服务器上的网站。 然后,Cloudfront使用其内容交付networkingcaching文件,如图像,MP3或video。

这样可以节省您不必像使用Amazon S3时那样复制资产的情况。

但是,在文件过期后,Cloudfront将从您的实时站点再次获取(按成本计算)。 所以云锋最适合频繁访问的文件,对于不常访问的文件则更不如此。

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

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

CloudFront和S3 Bucket是不一样的 。 通俗地说:CloudFront使您能够通过边缘位置的内容交付networking(CDN)加速网站内容的内容交付,而S3存储库则是您存储实际文件的地方。 CloudFront来源可能不一定来自S3,但为了更容易地将S3与CloudFront集成在一起: 在这里输入图像说明

有关更详细的解释,请查看关于S3 Bucket和CloudFront的笔记:

http://sysdotoutdotprint.com/index.php/2017/03/20/cloudfront/ http://sysdotoutdotprint.com/index.php/2017/03/20/simple-storage-service/

在S3上使用CloudFront的另一个案例是,您可以在CloudFront中使用SSL证书到自定义域,而不能在S3中使用。 一个非常好的理由imho!

亚马逊S3是一个简单的存储服务,这可以使用大量的信息,即video,图像,PDF等

CloudFront是一个内容分发networking,它更接近最终用户,用于在最短的时间内在Amazon S3上提供信息。

一个示例用例是video点播。

  1. 您将video存储在一个地方。 S3以不同格式存储所有预先录制的video。
  2. 你有全球用户案例
  3. CloudFront用于将videocaching到边缘位置。 这可以用来将内容传送给最终用户。 位置是根据最近的物理边缘位置自动拾取的。 目前有大约51个边缘位置。

使用CloudFront进行正确使用的一些优势:

  1. 改进的延迟 – 更好的最终用户体验。
  2. 可能降低数据传输成本。 由于数据不是每次都从特定AWS区域中的相同S3存储桶传输。

其他可能的用例:

  1. 直播
  2. 赌博
  3. 网站加速

Amazon CLOUDFRONT和S3是Amazon Web Services提供的两种不同的服务。

Amazon S3是一个存储服务,我们可以在其中存储静态文件,如:

CSS,图像,JavaScript的,video等…

Amazon CloudFront是一个中间件,位于用户从AWS请求文件到特定区域的S3数据中心之间,CloudFront用于加速从S3到用户的静态和dynamicWeb内容的分发。

你可以通过一个例子更好地理解它:

例如,您的S3位于AWS地区美国东部(弗吉尼亚北部),这是一个数据中心位置来存储您的文件。

如果来自印度的用户尝试从弗吉尼亚州的AWS服务器访问文件,则用户需要去请求特定位置,这将花费大量时间。

CloudFront所做的就是它作为用户和AWS S3之间的中间件。


最常用的文件可以caching在CloudFront上,它可以在边缘位置复制这些文件(为了以更低的延迟向最终用户提供内容,Amazon CloudFront使用边缘位置的全球networking进行内容交付)。

如果内容已经在延迟最低的边缘位置,CloudFront会立即传送。 如果内容当前不在该边缘位置,则CloudFront会从Amazon S3存储桶中检索内容,并尽可能快地将其提供给用户。

每个请求都有一个从CloudFront到S3的新DNS,所以这会导致较低的stream量以及更多的并行请求处理。

以下是截至2016年7月的当前优势地点列表:

美国

  • 弗吉尼亚州阿什本(3)
  • 亚特兰大,GA
  • 芝加哥,IL
  • 达拉斯/沃斯堡,TX(2)
  • 海沃德,加州
  • 佛罗里达州jackson维尔
  • 洛杉矶,加州(2)
  • 佛罗里达州迈阿密
  • 纽约,纽约(3)
  • 新泽西州纽瓦克
  • 加利福尼亚州帕洛阿尔托
  • 圣何塞,加州
  • 华盛顿州西雅图市
  • 南本德,IN
  • 密苏里州圣路易斯

欧洲

  • 阿姆斯特丹,荷兰(2)

  • 爱尔兰都柏林

  • 德国法兰克福(3)

  • 伦敦,英国(3)

  • 西class牙马德里

  • 法国马赛

  • 米兰,意大利

  • 法国巴黎(2)

  • 瑞典斯德哥尔摩

  • 华沙,波兰

亚洲

  • 印度钦奈

  • 香港(2)

  • 孟买,印度

  • 马尼拉,菲律宾

  • 印度新德里

  • 日本大阪

  • 韩国首尔(3)

  • 新加坡(2)

  • 台北,台湾

  • 日本东京(2)

澳大利亚

  • 澳大利亚墨尔本

  • 悉尼,澳大利亚

南美洲

  • 巴西圣保罗

  • 巴西里约热内卢

从这里你可以得出结论,如果用户数量有限是来自您所在S3所在的同一地区,那么您就不需要使用CloudFront,如果用户数量在全球范围内增加了,那么您一定要使用CloudFront以获得更好的延迟和stream量控制。

您可以从这里看到Amazon S3和Amazon Cloudfront之间的一些比较: http : //www.bucketexplorer.com/documentation/cloudfront–amazon-s3-vs-amazon-cloudfront.html

[披露: 桶资源pipe理器]

这里错过的一个方面是:

在更高的使用层级上,Amazon Cloudfront的价格也低于Amazon S3。

  • Cloudfront CDN用于跨地理分布的多个服务器(CSS,JS)分发内容,

  • 而s3更多的是每个用户使用较less的资源存储(用户图像,PDF)。

您可以完全绕过Web服务器,从s3存储桶中为您的Cloudfront资源提供服务。

在Web服务器预先编译和存储图像和java脚本的情况下,将它们存储在s3上表示您的服务器内存占用减less了

例如:在Heroku Slugs上(使用s3可以减less已编译的应用程序大小,并且可以使用云前端CDN来提高吞吐量)

如果您正在寻找全球分布式存储系统来防止地区/区域故障,Amazon S3是一款出色的对象存储平台。 对于静态/固定内容而言,这也非常适用于非事务性和变化的内容,如图片,video,图像,备份等。希望有所帮助!

首先我想解释一下,Amazon S3是云存储,Cloud Front是内容交付networking(CDN)。

因此,您可以使用在S3上存储文件,并可以创build分发以通过互联网提供内容。 以及您可以创build特定区域的分布。