AWS CloudFront CDN 完全指南:設定方法、快取策略與出海加速實戰

aws-cloudfront
aws-cloudfront

一家做跨境電商的客戶曾告訴我們,他們的獨立站在東南亞的載入時間超過8 秒,直接導致行動端跳出率高達75%。在引入AWS CloudFront 之後,東南亞地區的首次內容渲染時間(FCP)降至1.2 秒,轉換率提升了近40%。

對於面向海外用戶的出海企業而言,網站造訪速度是影響轉換率最直接的技術因素之一。 AWS CloudFront 作為亞馬遜雲端科技的全球內容傳遞網路(CDN)服務,是解決全球存取延遲問題的核心工具。本文將系統介紹CloudFront 的核心概念、配置方法與最佳實踐。

什麼是AWS CloudFront?

AWS CloudFront 是一項全球分散式的內容傳遞網路服務,透過在全球400+ 個邊緣節點(Edge Location)快取靜態內容,讓使用者從距離最近的節點取得數據,大幅降低存取延遲。

CloudFront 的核心運作原理

使用者發起請求→ CloudFront 檢查最近的邊緣節點是否有快取→ 有快取則直接回傳(快取命中)→ 無快取則回源(Origin)取得並快取→ 傳回給用戶

與傳統CDN 相比,CloudFront 的差異化優勢

維度 CloudFront 傳統CDN
與AWS 生態集成 原生整合S3、EC2、ALB、API Gateway 需要額外配置
安全能力 內置AWS WAF、Shield DDoS 防護 需單獨購買
即時日誌 支援即時日誌推送到S3/Kinesis 通常延遲較高
全球節點數量 400+ 邊緣節點 各廠商差異較大
計費模式 按流量+請求次數,無最低消費 通常按月簽約

CloudFront 核心概念解析

在配置CloudFront 之前,需要先理解幾個關鍵概念:

Distribution(分發):CloudFront 的基本配置單元,類似於」一個加速規則」。每個Distribution 綁定一個或多個來源站,並擁有獨立的CloudFront 網域(如d1234abcd.cloudfront.net)。

Origin(源站):真實內容的位置,可以是AWS S3 儲存桶、EC2 執行個體、ALB 負載平衡器,或任意HTTP 伺服器(自訂Origin)。

Behavior(行為規則):定義特定路徑(如/images/* 或/api/*)的快取和轉送規則,可以對不同路徑套用不同策略。

Edge Location(邊緣節點):CloudFront 的全球快取節點,負責回應使用者請求,全球400+ 個,中國大陸地區可透過單獨申請的CloudFront 中國版接入。

TTL(緩存存活時間):內容在邊緣節點的快取有效期,到期後節點會回源刷新。

建立CloudFront Distribution 的完整步驟

第一步:進入CloudFront 控制台

登入AWS 管理控制台,在服務搜尋列中輸入CloudFront,進入CloudFront 首頁,點選「Create distribution」按鈕。

第二步:配置來源站(Origin)

在Origin 設定中,選擇你的內容來源:

場景A:源站為S3 儲存桶(靜態網站託管)

在Origin domain 下拉框中選擇對應的S3 儲存桶。如果儲存桶設定了公有存取限制(建議),需啟用 Origin Access Control (OAC),並在S3 儲存桶策略中授權CloudFront 讀取權限。

場景B:源站為EC2/ALB(動態網站)

在Origin domain 中填入EC2 公網IP 或ALB 的域名,協定選擇HTTPS(確保來源站配置了SSL 憑證)。

第三步:配置Behavior(快取行為)

這是CloudFront 配置中最關鍵的部分,決定了不同路徑的快取策略:

靜態資源(/images/, /css/, /js/*)推薦配置

將 Cache Policy 設定為 CachingOptimized(AWS 託管策略),TTL 預設為86400 秒(24 小時)。對於版本化資源(如main.abc123.js),可以設定更長的TTL(最大31536000 秒,即1 年)。

動態內容(/api/*)推薦配置

將 Cache Policy 設定為 CachingDisabled,禁止緩存API 回應。同時將 Origin Request Policy 設定為 AllViewer,確保所有請求頭、Cookie、Query String 都傳遞給來源站。

HTML 頁面(預設路徑/*)建議配置

設定較短的TTL(如300 秒= 5 分鐘),方便內容更新後快速生效。

第四步:配置HTTPS 和自訂域名

在 Settings 部分:

將 Viewer Protocol Policy 設定為 Redirect HTTP to HTTPS,強制所有流量走HTTPS。

在 Alternate domain name (CNAME) 中填寫你的自訂網域名稱(如 www.yourdomain.com)。

在 Custom SSL certificate 中選擇在 AWS Certificate Manager (ACM) 中申請的證書(注意:CloudFront 只讀取us-east-1 區域的證書)。

申請ACM 證書:前往us-east-1(維吉尼亞北部)區域的Certificate Manager,申請網域證書,透過DNS 驗證(在網域DNS 中新增CNAME 記錄)。

第五步:完成建立並配置DNS

點選 「Create distribution」 後,CloudFront 需要5-15 分鐘完成全球部署(Status 顯示Enabled)。

部署完成後,在你的網域DNS 設定中,將主網域的CNAME 記錄指向CloudFront 所指派的網域(如d1234abcd.cloudfront.net)。

快取策略詳解與優化技巧

快取命中率(Cache Hit Ratio)優化

快取命中率是衡量CloudFront 效率的核心指標,命中率越高,使用者回應速度越快,源站壓力越小。

在CloudFront 的 Monitoring 面板可以查看快取命中率。目標:靜態資源命中率≥ 90%,整體命中率≥ 70%。

提升命中率的關鍵方法

將Cookie、Header 轉送設定到最小化-只轉送來源站必須依賴的字段,多餘的Header/Cookie 會產生不同的快取Key,導致快取碎片化。

例如,如果你的來源站不依賴User-Agent,就不要把User-Agent 加入快取Key。

主動清除快取(Invalidation)

當你更新了來源站內容(如發布新版本網頁),CloudFront 的邊緣節點不會立即感知。需要手動創建失效請求(Invalidation)來強制清除指定路徑的快取:

在CloudFront 控制台進入對應的Distribution,點選 Invalidations 標籤,然後點擊 「Create invalidation」,在Object paths 中填寫需要清除的路徑(如/index.html 清除首頁,或/* 清除所有內容)。

注意:每月前1000 次失效路徑免費,超出部分依路徑收費(約$0.005/條)。頻繁清除會增加費用,建議使用版本化檔名(如main.v2.js)避免頻繁失效。

地理限制(Geo Restriction)

CloudFront 支援按國家/地區限制訪問,適合有地區合規要求的業務:

在Distribution 設定的 Security 部分,找到 Geographic restrictions,可以設定白名單(僅允許指定國家)或黑名單(封鎖指定國家)。

CloudFront 與其他AWS 服務的典型整合場景

場景一:CloudFront + S3 靜態網站加速

這是最經典的用法,適合出海獨立站、行銷落地頁、文件網站:

將前端靜態檔案(HTML/CSS/JS/圖片)上傳至S3 儲存桶,透過CloudFront 分發,實現全球加速。用戶遍佈北美、歐洲、東南亞時,相較於直接存取S3,CloudFront 可將延遲降低60%-80%。

成本對比:S3 直接對外流量費用約 0.09/𝐺𝐵𝐶𝑙𝑜𝑢𝑑𝐹𝑟𝑜𝑛𝑡0.0085-$0.085/GB(以區域不同),且S3 到CloudFront 的資料傳輸免費,綜合成本更低。

場景二:CloudFront + ALB 動態網站加速

對於有動態內容的網站(如WordPress、API 服務),CloudFront 可以:

將靜態資源(/wp-content/* 等路徑)緩存在邊緣節點,將動態請求(/wp-admin/, /api/)直接透傳給ALB,同時提供DDoS 防護和HTTPS 終止。

場景三:CloudFront + Lambda@Edge 動態處理

Lambda@Edge 允許在CloudFront 邊緣節點運行程式碼,實作:

A/B 測試(根據Cookie 傳回不同版本)、使用者驗證(在邊緣驗證JWT Token)、URL 重寫和重定向,以及根據User-Agent 進行裝置適配。

CloudFront 費用說明

CloudFront 的費用由兩個部分組成:

資料傳輸費用:按區域不同,約 0.00850.17(印度)/GB 不等。

HTTP 請求費用:每10,000 次HTTPS 請求約$0.0100。

免費套餐:每月前1TB 資料傳輸和10,000,000 次HTTP 請求免費(12 個月有效期)。

成本優化建議

透過提升快取命中率減少迴源流量;合理設定TTL 減少不必要的回源請求;使用S3 Intelligent-Tiering 降低源站儲存成本。

常見問題排除

問題1:CloudFront 內容未更新,使用者仍看到舊版本

原因:邊緣節點快取未過期。解決方案:建立Invalidation 清除對應路徑緩存,或更新檔案名稱版本號。

問題2:HTTPS 證書報錯

原因:ACM 證書未在us-east-1 區域申請。解決方案:前往維吉尼亞州北部區域重新申請證書。

問題3:來源站S3 返回403 禁止訪問

原因:S3 儲存桶政策未授權CloudFront OAC。解決方案:在S3 儲存桶策略中新增對應的CloudFront 服務主體授權語句。

問題4:API 介面緩存了不該緩存的回應

原因:API 路徑的Behavior 未正確設定為禁止快取。解決方案:為/api/* 路徑單獨建立Behavior,Cache Policy 設定為CachingDisabled。

总结

AWS CloudFront 不僅是CDN,更是出海企業建構全球存取體驗的核心基礎架構。靜態資源加速、動態內容加速、安全防護、成本優化-CloudFront 在這些方面都能與AWS 生態無縫配合,形成完整的解決方案。

對於出海企業而言,從”能訪問”到”快速訪問”是用戶體驗的質的飛躍。一個載入速度低於2 秒的海外網站,往往能在競爭中脫穎而出。


需要專業團隊幫忙規劃AWS 雲端架構?

aws-oncloudai.com 專注於為中國出海企業提供AWS 雲端服務諮詢與實施,涵蓋CloudFront CDN 配置、S3 靜態託管、彈性架構設計等。歡迎免費預約技術諮詢,我們將為你的業務提供客製化的AWS 解決方案。

aws-oncloudai.com | 專業AWS 雲端服務合作夥伴

更多探索

Tell me what you need