Amazon CloudFront是否收取存储费用?

我一直在评论Amazon S3和Amazon CloudFront的function和价格,以及其他提供商提供的类似服务。 有一件事情我不明白,为什么Amazon CloudFront定价似乎不像我看到的其他CDN那样需要存储成本。

我明白,我的文件被确定存储在S3上。 S3有存储成本。 但是,当我激活CloudFront时,根据我的理解,我的文件将被复制到许多地理位置分散的数据中心。 通过收取转账(加上请求)而不是存储,在我看来,亚马逊会在客户需要大量存储但转移不足的情况下受到伤害。

由于这看起来不正确,所以我想问一下:在理解Amazon CloudFront不收取存储费(超过S3存储成本)的情况下,我是否正确? 如果我是正确的,亚马逊是否对其CloudFront服务有任何存储限制,以防止他们从需要大量存储但使用很less带宽的客户那里损失资金?

Cloudfront确实不收取存储费用,但这是您误解的一点:

我的文件将被复制到许多地理分布的数据中心。

不正确。

Cloudfront在全球拥有数十个边缘位置,但是您的内容并不完全复制到他们。

相反,当浏览器尝试获取文件/对象之一时,请求将到达其中一个位置,Cloudfront将检查该位置是否已在该位置有合适新鲜度的文件的副本,或者是否需要提取从原始服务器(S3在某些情况下)。

如果Cloudfront边缘位置中存在可行的本地副本,则会将其返回给请求者。 如果没有,则从原始服务器获取文件,返回给请求者,然后保存在该边缘位置,以备下次需要时使用。

不能保证该对象的副本将在该边缘持续,直到到期为止,但是通常,对于到达相同的云边缘位置的相同对象的后续请求将被提供给本地caching的副本。

因此,对于数据量大,stream量小的客户来说,亚马逊的Cloudfront存储成本可以忽略不计,因为从来没有要求的东西永远不会被存储,任何需求非常低的东西都可以从caching中清除。

是的,你是对的。 你不支付存储。 你支付请求和转移。 如果有人正在使用云端,他们可能会得到一些相当重要的点击。 另外,永远不要忘记存储是便宜的。

另外,Amazon有一个algorithm来决定是否caching一些东西。 如果没有被击中,我猜测(因为亚马逊不会透露algorithm),请求将返回到原点,而不是在CloudFront上caching。