觀點 · 資訊分享
CloudFront 終於能「按標籤」清快取:一次清掉一組相關頁面,官方說 P95 不到 5 秒生效
Amazon CloudFront 新增「用快取標籤失效」功能:回應時用標頭幫內容貼標籤,之後一個請求就能清掉所有同標籤的快取。每個標籤算一條路徑計費,除中國兩個區域外都能用。
- 發布
- 2026-04-30
- 篇幅
- 約 3 分鐘 · 1,381 字
- 結構
- 7 節 + 3 題常見問題
- 標籤

一句話看懂:CloudFront 現在可以先替快取內容貼標籤,之後一個請求就能清掉所有同標籤的內容,官方說多數情況不到 5 秒生效。

先用白話講:「快取失效」是什麼?
CloudFront 是 AWS 的 CDN(內容傳遞網路),它會把你的網頁、圖片先存一份在離訪客很近的機房,這份存起來的副本叫「快取」,讓網站更快。
問題是:你更新了商品價格,機房裡還放著舊版本怎麼辦?你得通知機房「那份舊的作廢」,這個動作就叫失效(invalidation)。
發生什麼事
4 月 29 日,AWS 宣布 CloudFront 支援依快取標籤(cache tag)失效。
- 源站回傳內容時,在 HTTP 標頭裡帶上標籤,多個標籤用逗號分隔
- 之後只要對某個標籤發一個失效請求,所有貼了這個標籤的快取一次清除
- 標頭名稱可以在 CloudFront 主控台、AWS CLI 或 API 設定
- 每個物件可以有多個標籤
跟以前比,差在哪?
官方說明,以前如果相關物件不在同一個網址路徑下,只能追蹤每一個網址,或使用範圍很大的萬用字元,可能順便清掉不相關的內容。
| 做法 | 以前 | 現在 |
|---|---|---|
| 清一組分散在各處的相關內容 | 逐一列出網址,或用萬用字元 | 對標籤送一個請求 |
| 風險 | 萬用字元可能清掉不該清的 | 只清貼了該標籤的內容 |
官方列出的常見情境:同一商品資訊出現在多個頁面、法律下架要求、法規合規要求、多租戶平台更新內容。
給開發者的技術細節
- 速度:官方寫明失效約在 5 秒內生效(P95),包含回報狀態的完整完成時間不到 25 秒(P95)
- 計費:每個快取標籤算作一條路徑
- 可用範圍:所有提供 CloudFront 的區域,但不含中國(北京)與中國(寧夏)
- 做法:先在 CloudFront 設定要讀的標頭名稱,源站在回應裡帶標籤;示意如下
HTTP/1.1 200 OK
Cache-Tag: product-123,spring-sale
Cache-Control: max-age=86400
上面的 Cache-Tag 只是示意用的標頭名稱,實際名稱由你在 CloudFront 設定,詳細步驟請看官方的 Invalidations By Cache Tag 文件。
我的看法
我幫中小企業做網站時,最常遇到的困擾就是「改了商品資料,畫面還是舊的」,後來只好用萬用字元整個路徑清,結果流量一高,快取命中率就掉。按標籤清的想法很對:改一個商品,只清跟它有關的幾頁。
不過這需要源站配合,在回應裡正確貼標籤。標籤設計得亂,反而更難管。建議先從「商品 ID」「活動名稱」這種清楚的維度開始,不要一開始就貼太多種標籤。自己用 Cloudflare 或其他 CDN 的人,也可以參考這種作法。
名詞小辭典
- CDN(內容傳遞網路):把網站內容放在世界各地的機房,讓訪客從最近的地方取得,速度更快。
- 快取(Cache):把處理過的內容先存起來,下次直接給,不用重新向源站要。
- 失效(Invalidation):通知 CDN 把某些快取視為過期,下次重新向源站取新的。
- P95:95% 的情況都在這個時間內完成,用來描述「大部分時候有多快」。
資料來源
常見問題
快取標籤是什麼?
是你自己在回應標頭裡替內容加上的分類名稱,例如同一個商品出現在多個頁面,就都貼同一個標籤。之後只要對這個標籤下失效請求,所有貼了它的快取一起被清掉。
要多付錢嗎?
官方寫明每個快取標籤算作一條路徑計費,詳細費率請看 CloudFront 的定價頁。
哪裡不能用?
官方列出的例外是中國(北京,由光環新網營運)與中國(寧夏,由西雲數據營運)兩個區域,其他提供 CloudFront 的區域都可使用。
接著讀
全部觀點 →Cloudflare 快取換上 Pingora 新引擎:背景更新舊內容,但有 3 項行為會變Cloudflare 宣布快取改跑在以 Rust 打造的 Pingora 新代理上,官方說延遲更低、快取未命中更少,也新增非同步 stale-while-revalidate。同時有 3 項行為變動,用 CDN 的網站建議先檢查。閱讀 →Cloudflare Smart Tiered Cache 認得雲端原站:加一個「區域提示」,快取命中率更高、原站更輕鬆Cloudflare 讓 Smart Tiered Cache 支援放在 AWS、GCP、Azure、Oracle Cloud 的原站。只要替原站設定雲端區域提示,Cloudflare 就會挑一個離原站近的上層節點,把快取未命中的請求集中送過去。所有方案免費可用。閱讀 →CloudFormation 新增強制回滾:堆疊更新失敗又回不去,現在加一個選項就能救AWS 在 10 月 22 日讓 CloudFormation 的繼續回滾多了強制選項。卡在回滾失敗狀態的堆疊,不必再逐一列出資源來跳過,一個指令就能回到可以再部署的狀態,所有 Region 都能用、不另外收費。閱讀 →