Answers:
Amazon S3专为在一个特定地理区域中的大容量,低成本文件存储而设计。*存储和带宽成本非常低。
Amazon CloudFront是一个内容交付网络(CDN),可以在尽可能靠近用户的边缘位置代理和缓存Web数据。
当最终用户使用此域名请求对象时,他们会自动路由到最近的边缘位置,以实现内容的高性能交付。(亚马逊)
CloudFront提供的数据可能来自或可能不来自S3。由于针对交付速度进行了更优化,因此带宽成本更高。
如果您的用户群已本地化,那么使用S3或CloudFront不会有太大区别(但是您必须为S3存储桶选择正确的位置:美国,欧盟,亚太地区)。如果您的用户群遍布全球并且速度至关重要,那么CloudFront可能是一个更好的选择。
S3和CloudFront都允许使用域别名,但是CloudFront允许使用多个别名,因此d1.mystatics.com
,d2.mystatics.com
并且d3.mystatics.com
都可以指向同一位置,从而增加了并行下载的容量(Google曾经建议这样做,但是引入了SPDY和HTTP / 2重要性较低)。
从2014年起,CloudFront 还支持CORS(感谢sergiopantoja)。
*注意:从2015年起,S3现在可以自动复制到其他区域。
CloudFront和S3 Bucket不同。用外行的话来说:CloudFront使您可以通过边缘位置的Content Delivery Network(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和S3是Amazon Web Services提供的两种不同的服务。
Amazon S3是一项存储服务,我们可以在其中存储静态文件,例如:
CSS,图片,JavaScript,视频等...
Amazon CloudFront是一种中间件,介于用户向AWS请求文件和特定区域的S3数据中心之间,CloudFront用于加快从S3到用户的静态和动态Web内容分发。
您可以通过以下示例更好地理解它:
例如,您的S3位于美国东部(弗吉尼亚北部)的AWS区域,该区域是存储文件的数据中心位置。
如果来自印度的用户尝试从弗吉尼亚州的AWS服务器访问文件,则该用户将需要通过请求转到该特定位置,这将花费大量时间。
CloudFront所做的是将其作为用户和AWS S3之间的中间件。
可以将最常用的文件缓存在CloudFront上,它的作用是将这些文件复制到边缘位置(为了以较低的延迟向最终用户交付内容,Amazon CloudFront使用边缘位置的全球网络进行内容交付)。
如果内容已位于具有最低延迟的边缘位置,则CloudFront会立即将其交付。如果内容当前不在该边缘位置,则CloudFront将从Amazon S3存储桶中检索该内容,并尽快将其提供给用户。
从CloudFront到S3,每个请求都被赋予一个新的DNS,因此这将导致流量减少以及并行请求处理更多。
以下是截至2016年7月的当前边缘位置的列表:-
美国
欧洲
荷兰阿姆斯特丹(2)
爱尔兰都柏林
德国法兰克福(3)
英国伦敦(3)
西班牙马德里
法国马赛
意大利米兰
法国巴黎(2)
瑞典斯德哥尔摩
波兰华沙
亚洲
印度金奈
香港(2)
印度孟买
菲律宾马尼拉
印度新德里
日本大阪
韩国首尔(3)
新加坡(2)
台北,台湾
日本东京(2)
澳大利亚
澳大利亚墨尔本
悉尼,澳大利亚
南美洲
巴西圣保罗
巴西里约热内卢
由此可以得出结论,如果受限用户与托管S3的用户来自同一地区,则您不需要使用CloudFront,并且如果在全球范围内增加了用户数量,则一定要使用CloudFront以获得更好的延迟和流量控制。
在S3上使用CloudFront的另一种情况是,可以在CloudFront中对自定义域使用SSL证书,而在S3中则不能。恕我直言,这是一个很好的理由!
Amazon S3是一项简单存储服务,可以使用大量信息,例如视频,图像,PDF等。
CloudFront是一个内容交付网络,它距离最终用户更近,用于在尽可能短的时间内使信息在Amazon S3上可用。
一个示例用例是“视频点播”。
使用CloudFront进行正确使用的一些优势:
其他可能的用例:
首先,我想解释一下,Amazon S3是云存储,而Cloud Front是内容交付网络(CDN)。
因此,您可以用来将文件存储在S3上,并可以创建分发以通过Internet提供内容。您还可以为特定区域创建分布。
您可以从此处查看Amazon S3和Amazon Cloudfront之间的一些比较:http : //www.bucketexplorer.com/documentation/cloudfront--amazon-s3-vs-amazon-cloudfront.html
[披露: 存储桶资源管理器]