如何從 CloudFront 移除快取檔案?

上次更新日期:2022 年 5 月 27 日

我更新了原始伺服器上的檔案。不過,Amazon CloudFront 仍在提供舊內容給我的使用者。為什麼會發生這種情況,而我又該如何清理快取?

簡短描述

根據預設,CloudFront 會根據原始伺服器回應中的 快取控制標頭,以及 CloudFront 分配快取行為中的 最小、最大值和預設 TTL 值 ,在邊緣站點中快取回應。

根據您設定的值,CloudFront 會快取檔案直到快取過期為止。若要立即提供更新的檔案,請讓檔案失效,以便從 CloudFront 的快取中移除物件。

備註:如果物件使用 Cookie、查詢字串或標頭來變更回應,您無法變更此類物件的特定版本。失效會移除物件的所有版本。

解決方案

重要:使檔案失效可能會產生費用。如需詳細資訊,請參閱支付檔案失效費用

使用 AWS Console 讓檔案失效

若要使用 AWS Console 讓檔案失效,請參閱 使用主控台讓檔案失效。 

使用 AWS CLI 讓檔案失效

備註:如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請確保您使用的是最新版本的 AWS CLI

若要使用 AWS CLI 讓檔案失效,請使用 create-invalidation 命令:

aws cloudfront create-invalidation ---distribution-id EDFDVBD6EXAMPLE --paths "/example-path/index.html"
備註:請將 EDFDVBD6EXAMPLE 替換為提供檔案的發行 ID。

若要查找目前的失效狀態,請使用 get-invalidation 命令:

aws cloudfront get-invalidation --id I2J0I21PCUYOIK --distribution-id EDFDVBD6EXAMPLE
備註:請將 EDFDVBD6EXAMPLE 替換為提供檔案的發行 ID。

若要在完成失效前輪詢其狀態,請使用下列命令:

aws cloudfront wait invalidation-completed --id I2J0I21PCUYOIK --distribution-id EDFDVBD6EXAMPLE
備註:請將 EDFDVBD6EXAMPLE 替換為提供檔案的發行 ID。


此文章是否有幫助?


您是否需要帳單或技術支援?