对象删除后 CloudFront 失效
Posted
技术标签:
【中文标题】对象删除后 CloudFront 失效【英文标题】:CloudFront invalidation after object delete 【发布时间】:2015-02-22 13:56:23 【问题描述】:我对 AmazonS3 上的更新对象执行 CloudFront 失效,以使其始终保持最新。我是否需要尽快从缓存中删除已删除的对象?
【问题讨论】:
【参考方案1】:您“不需要”这样做,除非——出于某种原因——您试图确定该对象不再可以通过 Cloudfront 访问。
已从源(在本例中,源为 S3)中删除的对象最终将在它碰巧仍然存在的任何边缘位置从缓存中清除。
由于 Cloudfront 没有相关的存储费用,很难想象使已从源中删除的对象无效对您有什么真正好处,除非如上所述,您的意图是使该对象在全局范围内无法从每个 Cloudfront 边缘位置。
但请注意,consistency model for S3 仅对DELETE
请求和覆盖PUT
请求提供最终一致性。这意味着即使不太可能,S3 中已删除的对象在您删除后的一段时间内仍可访问(或者旧版本的对象在您用新对象覆盖后仍可在短时间内访问)版本)。这是您在发送 Cloudfront 失效时需要牢记的信息。虽然不太可能,但理论上有可能在相应的删除或更新在 S3 内部全局一致之前处理失效。
【讨论】:
以上是关于对象删除后 CloudFront 失效的主要内容,如果未能解决你的问题,请参考以下文章
markdown s3 CloudFront清理缓存,使对象失效(仅Web分配)
Amazon S3 是不是向 CloudFront 发送失效信号?
ASP.Net 中的 Amazon CloudFront 失效