GCP immutable 主要省 GCS 請求與 latency 而非 egress

Cache-Control: immutable 可以大幅省 CDN egress」這是一個雲廠商計費模型相關的迷思。在 GCP Cloud CDN + GCS 組合下,immutable 主要省的不是 edge → user 的 egress,而是另外四件事。

計費關鍵

Cloud CDN 不論 cache HIT 或 MISS,對 user 那邊的 egress 都要收費($0.08/GB)。HIT 跟 MISS 對「user 拿到的 byte 數」是一樣的。

而 GCS → Cloud CDN 的 cache fill 是 免費 的(同 GCP 內部骨幹)。所以「省一次回源」在 GCP 並不省 fill 流量錢。

Immutable 在 GCP 真正省的

  1. GCS 請求數:每 chunk 每 PoP 才打一次 GET($0.0004 per 1k);vs 每次 PV 都打 → 10 萬 PV/天規模下省 ~$12/月
  2. GCS egress quota:GCS bucket 對外 egress 有 quota,immutable 讓回源量趨近 0,避免動到 quota
  3. P99 latency:HIT edge 直出 ~10ms;MISS 要往返 GCS region ~50–200ms
  4. 跨區成本:bucket 與 user 不同 region 時 GCS egress 另計;immutable 讓這部分趨近 0

與 AWS 對比

這個結論只適用於 GCP。AWS CloudFront + S3 的計費模型不同:S3 → CloudFront 有 egress 費,所以「immutable 省 egress」在 AWS 是真的。

→ 跨雲讀網路上的 cache 最佳實踐文章時,要確認作者用的是哪家雲

數字示例(10 萬 PV/天)

項目no-storeimmutable差異
GCS Class B GET$12.00$0.02省 $12
CDN lookup$22.50$22.500
CDN cache fill$0$00
CDN edge egress$688$6880
小計$723$711省 $12

→ 帳單上只省 1.7%,但 latency 與架構健康度差很多。

相關