如果日志不可靠,如何计算 AWS Cloudfront 指标?

如果日志不可靠,如何计算 AWS Cloudfront 指标?

正如本文档所述

重要的

我们建议您使用日志来了解内容请求的性质,而不是将其作为所有请求的完整记录。CloudFront 会尽最大努力提供访问日志。特定请求的日志记录可能会在请求实际处理很久之后才提供,或者根本不提供。在极少数情况下,AWS 使用跟踪和计费系统中显示的使用情况可能不会出现在 CloudFront 访问日志中。

我正在构建一个系统,其中我必须根据客户使用的数据量向他们计费/限制客户。如果没有日志,我可以使用其他哪些细粒度的访问监控来根据对象测量带宽使用情况。

答案1

请注意“在极少数情况下...”

这并不是说 Cloudfront 访问日志不可靠,而是 Cloudfront 无法保证日志绝对、完整、准确、完美地记录可能已处理的每个请求,也无法保证 Cloudfront 永远不会找到旧的、搁浅的日志记录并在稍后将其传送给您。

S3 日志记录有类似的免责声明:

但是,服务器日志的完整性和及时性无法得到保证。特定请求的日志记录可能在请求实际处理很久之后才传送,也可能根本不传送。服务器日志的目的是让您了解存储桶的流量性质。它并不是对所有请求的完整记录。丢失日志记录的情况很少见,但服务器日志并不是对所有请求的完整记录。

http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html

在这两种情况下,措辞都不太可能具有更重要的意义,除非是一个简单的免责声明,当客户试图对基于收集的日志所收取的费用提出异议时,AWS 可以参考该免责声明,特别是在账单和日志之间的差异相对较小时。

根据我的经验,包含过去很多请求的日志确实出现过,但它们并不常见,当我去 Cloudfront 日志中查找特定请求的详细信息时,它们就在那里。

收集 Cloudfront 日志并将其与您的详细账单进行比较。如果没有明显的不一致,那么我认为没有必要对此免责声明的含义有太大的担忧。

答案2

创建额外的 CloudFront 分发版无需任何费用,因此我建议为每个客户端至少创建一个分发版。结合 AWS 使用情况报告,每个客户端一个分发版将允许您查看相当详细的信息。使用情况报告与访问日志不同。查看文档:

具体来说,资源列将与您的 CloudFront 分发 ID 相匹配。

相关内容