缓存与 no-cache 相比是否会影响 CloudFront 定价?

Does cache vs no-cache effect CloudFront pricing?

我需要从 S3 存储桶中提供少量大文件 (10-50GB)。我正在使用 CloudFront,因为我需要 Lambda@Edge 在请求到达 s3 存储桶之前对其进行检查。

来自 AWS 文档 here 我了解我为将数据传出到 Internet 付费。我还了解到 CloudFront 缓存的最大 object 大小为 20GB。

我的问题是:对于小于20GB的文件,缓存这些文件对CloudFront的cost/pricing没有影响吗?将 Cache-control header 设置为 no-cache 是否意味着响应绕过 CloudFront?我假设 caching/storing 边缘服务器上的文件一定会产生一些成本。

有一个类似的问题here但是答案没有具体讨论cost/pricing缓存。

对于小于 20 GB 的对象,无论您是否阻止 CloudFront 缓存它们(通常通过将 Cache-Control 设置为 privateno-cache 或 [=13] 的任意组合=] 同时将最小 TTL 设置为默认值 0(尽管还有其他方法)不会对定价产生影响,因为 CloudFront 不对缓存存储收取任何费用。虽然这可能令人惊讶,但请记住,响应仅缓存在请求它们的边缘,并且 CloudFront 的缓存是一个缓存,因此是短暂的,因此 CloudFront 可以丢弃看不到频繁流量的缓存对象。

防止缓存不会绕过 CloudFront,因为 CloudFront 是处理整个请求的服务。它只是防止响应在返回给查看器时存储在缓存中。

您将需要验证大于 20 GB 的对象是否可以正常工作。文档表明他们不会。

Maximum File Size

The maximum size of a response body that CloudFront will return to the viewer is 20 GB. This includes chunked transfer responses that don't specify the Content-Length header value.

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorS3Origin.html#ResponseS3MaxFileSize