網站影片流量暴增怎麼辦?用 CloudFront + S3 一次解決緩衝與逾時問題!

情境:

某家公司使用 Amazon EC2 部署一組 Web 伺服器(web fleet)來主機部落格網站。

這些 EC2 執行個體部署在 Application Load Balancer(ALB)後方,並設定在 Auto Scaling group 中。

該 Web 應用程式將所有部落格內容儲存在 Amazon EFS 檔案系統上。

公司最近新增了一項功能,讓部落客可以在貼文中加入影片,結果帶來了 10 倍於以往的使用流量。

在每日尖峰時段,使用者回報存取網站或觀看影片時出現緩衝(buffering)與逾時(timeout)問題。

公司希望找到最具成本效率且可擴展性高的架構,來解決使用者端的體驗問題。

核心知識點:

Amazon CloudFront

是 AWS 提供的全球內容傳遞網路(Content Delivery Network, CDN)。
它在全球布建了數百個邊緣節點(Edge Locations),可將網站的靜態內容、影片、圖片、API 回應,甚至是動態內容,快取在離使用者最近的位置。

簡單說:CloudFront 會把常用的內容放在世界各地的「快取站」,讓使用者不用跑到你的伺服器拿資料,直接就近取得。

因此能顯著提升網站速度、降低延遲,也能大幅減少後端伺服器(EC2 / ALB / Origin)的負載,主要功能如下:

1. 全球快取與加速傳遞

CloudFront 會將內容快取到全球邊緣節點,讓全球使用者都能以較低延遲讀取內容。
適合:

  • 網站靜態檔案
  • 圖片
  • JavaScript / CSS
  • 影片 / 大型檔案
  • API 回應

2. 減輕 Origin(來源伺服器)負載

由於常用內容已被快取在 Edge,Origin 不需要每次都回應
降低伺服器 CPU、記憶體與網路使用量
減少 ALB 與 EC2 的成本
避免尖峰流量造成擁堵與延遲

這正是影片大量流量爆增時非常重要的核心能力。

3. 與 S3 的完美整合

CloudFront 最常見的搭配就是 S3,因為:

  • S3 穩定便宜
  • CloudFront 自動快取 S3 內容
  • 可透過 Signed URL / Signed Cookies 做授權控制

適合用來提供影片、圖片、下載檔案、網站內容等。

4. 支援 HTTPS、TLS、WAF、安全性強

CloudFront 支援:

  • HTTPS 全域加密
  • 透過 ACM 免費使用 TLS 憑證
  • 與 AWS WAF 整合進行 Web 攻擊防護
  • 源站遮蔽(Origin Shielding)避免來源直接暴露
  • 防止 DDoS

5. 可客製化快取規則

你可以設定:

  • 哪些路徑快取?
  • 快取多久?
  • 不同檔案類型設定不同 TTL

例如:影片快取 1 天、CSS 快取 30 天、API 回應不快取等等。

Amazon S3(Simple Storage Service)

是 AWS 的物件存儲服務,用來儲存圖片、文件、影片、備份、網站資產等所有類型的靜態資料。


其特點是:

  • 高耐久度(99.999999999%)
  • 高可用性
  • 幾乎無限制的容量
  • 效能極高且成本低廉

因此成為儲存大型影音檔案的最佳選擇,主要功能如下:

1. 無上限儲存空間(大檔案最佳選擇)

S3 是物件存儲,不像 EBS/EFS 一樣有限制容量。
影片、多媒體檔案,可以輕鬆存放到 PB(Petabyte)級別。
非常適合:

  • 影片串流平台
  • APP 檔案下載
  • 備份與版本控制
  • 大型資料集

2. 高耐久度與高可用性

S3 會自動在多個 AZ(可用區)之間複製資料,因此耐久度達: 99.999999999%(11 個 9)

資料極難遺失 —— 這是影片與靜態資產最需要的能力。

3. 與 CloudFront 深度整合(最佳組合)

CloudFront 可以直接以 S3 作為 Origin。
優點:

  • 自動化快取
  • 全球加速
    便宜又穩定
  • 減少後端壓力
  • 可使用 S3 原生安全功能(例如簽名 URL)

幾乎所有大型網站都使用「S3 + CloudFront」架構處理靜態內容。

4. 低成本(按量計費)

S3 的儲存成本相當便宜,且依使用量計費:

  • 存多少付多少
  • 取多少付多少
  • 不需要預先購買空間

比 EFS、EBS 更適合儲存影片與靜態內容。

5. 支援安全存取控制(IAM、Bucket Policy、ACL)

S3 提供多層級安全模型:

  • IAM 權限
    Bucket Policy
  • Access Points
  • 加密(SSE-S3、SSE-KMS)
  • VPC Endpoint

確保影片或敏感檔案不會被未授權訪問。

 6. 支援多種資料層級(儲存分類)

依照存取頻率選擇不同價格等級:

  • Standard(一般存取)
  • Standard-IA(不常存取)
  • Glacier(歸檔)

有效降低長期儲存成本。

結論:

S3 是大型物件(如影片)的最佳儲存位置,而 CloudFront 作為 CDN 能將影片快取到全球。

此方案能大幅降低 EC2 與 EFS 的負載,提升全球使用者觀看速度,同時成本極低。

是 AWS 官方最佳實務。

參考連結:

Amazon CloudFront Developer Guide
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html

Serving video with Amazon S3
https://docs.aws.amazon.com/AmazonS3/latest/userguide/StreamingVideo.html

Amazon S3 官方文件
https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html

EFS 效能模式說明
https://docs.aws.amazon.com/efs/latest/ug/performance.html

ALB 官方介紹
https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html

如果想知道更多雲端新知,加入我們LINE@官方號

感謝您的填寫,將有專人與您聯繫