何时使用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.com
, d2.mystatics.com
和d3.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点播。
- 您将video存储在一个地方。 S3以不同格式存储所有预先录制的video。
- 你有全球用户案例
- CloudFront用于将videocaching到边缘位置。 这可以用来将内容传送给最终用户。 位置是根据最近的物理边缘位置自动拾取的。 目前有大约51个边缘位置。
使用CloudFront进行正确使用的一些优势:
- 改进的延迟 – 更好的最终用户体验。
- 可能降低数据传输成本。 由于数据不是每次都从特定AWS区域中的相同S3存储桶传输。
其他可能的用例:
- 直播
- 赌博
- 网站加速
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特定区域的分布。