CloudFront筆記整理

AWS CloudFront 重點整理

CloudFront = AWS 的 CDN 服務。

白話來說,CloudFront 會把網站內容先快取到離使用者比較近的節點, 讓使用者讀取更快、延遲更低。


CloudFront 解決什麼問題?

問題 CloudFront 怎麼解決
使用者離 S3 很遠 讓使用者連到最近的 Edge Location
圖片、影片、檔案讀取慢 把內容快取在全球節點
Origin 壓力太大 重複請求直接由快取回應
全球使用者延遲高 不用每次都回原始伺服器拿資料
擔心 DDoS 攻擊 可搭配 AWS Shield、AWS WAF 加強防護

CloudFront 怎麼運作?

使用者
  ↓
最近的 CloudFront Edge Location
  ↓
檢查有沒有快取

有快取
  ↓
直接回傳給使用者

沒有快取
  ↓
回 Origin 取資料
  ↓
存到 Edge Location
  ↓
回傳給使用者
  

簡單講:

第一次可能比較慢,因為 CloudFront 要回原始來源拿資料。
第二次開始就快,因為資料已經快取在使用者附近的節點。

Origin 是什麼?

Origin = CloudFront 背後真正的資料來源。

Origin 類型 用途
S3 Bucket 放圖片、影片、檔案、靜態網站內容
Private ALB 連到 VPC 裡面的私有應用程式
Private NLB 連到 VPC 裡面的私有服務
EC2 連到後端主機
Public ALB 連到公開的 Web 服務
S3 Static Website S3 啟用靜態網站後,作為 CloudFront 來源
Custom HTTP Origin 任何公開 HTTP 後端

S3 搭配 CloudFront

假設你的 S3 Bucket 在澳洲,使用者在美國。

美國使用者
  ↓
美國附近的 CloudFront Edge Location
  ↓
第一次回澳洲 S3 取資料
  ↓
快取在美國 Edge Location
  ↓
之後美國使用者直接從美國節點讀取
  
好處 說明
速度快 使用者連最近的節點
降低 S3 壓力 不用每次都打回 S3
全球加速 不同地區都有節點可快取內容
更安全 可用 OAC 限制只有 CloudFront 能讀 S3

OAC 是什麼?

OAC = Origin Access Control。

白話講,就是讓 S3 不要直接公開,而是只允許 CloudFront 存取。

使用者
  ↓
CloudFront
  ↓
OAC 控制存取
  ↓
S3 Bucket
  

這樣使用者就不能繞過 CloudFront 直接讀取 S3,安全性會比較好。


Cache 是什麼?

Cache 不是 Bucket。

Cache 是 CloudFront 放在 Edge Location 裡面的暫存資料副本。 它的目的不是永久儲存,而是加速讀取。

S3 Bucket
  ↓
放原始檔案,例如 logo.png
  

第一次讀取時:

使用者
  ↓
CloudFront Edge Location
  ↓
沒有快取
  ↓
回 S3 Bucket 拿 logo.png
  ↓
存一份到 Edge Location
  ↓
回傳給使用者
  

第二次之後:

使用者
  ↓
CloudFront Edge Location
  ↓
直接從 Cache 回傳 logo.png
  

Bucket vs Cache

項目 S3 Bucket CloudFront Cache
是什麼 原始資料存放地 暫存複本
放在哪 AWS Region Edge Location
是否自己管理 大多由 CloudFront 管理
資料角色 正本 副本
目的 儲存資料 加速讀取
S3 Bucket 像總倉庫。
CloudFront Cache 像各地門市先放一批常用商品。

CloudFront vs S3 Cross-Region Replication

Cross-Region Replication 可以理解成建立指定區域的 S3 分倉。

它不是快取,而是真的把 S3 物件複製到另一個 Region。

東京 S3 Bucket
  ↓ 複製
新加坡 S3 Bucket
  

倉庫比喻

概念 比喻
S3 Bucket 原始總倉庫
S3 Cross-Region Replication 在另一個國家建立分倉
CloudFront Cache 各地門市暫放熱賣商品

Cross-Region Replication 重點

重點 說明
是真的複製資料 不是暫存,也不是快取
要指定 Region 例如東京複製到新加坡
要有目標 Bucket 不是自動全球都有
接近即時複製 但不是同步交易
適合備援 原區域出問題,另一區還有資料
適合跨區讀取 某些地區可以讀比較近的 Bucket

CloudFront 和 S3 Cross-Region Replication 差異

項目 CloudFront S3 Cross-Region Replication
主要用途 全球快取,加速讀取 跨區複製資料
核心概念 CDN Bucket 複製
適合資料 圖片、影片、網站檔案等靜態內容 需要同步到其他 Region 的資料
是否快取 會快取 不快取
範圍 全球 Edge Location 你指定的 Region
更新方式 快取到期後更新 接近即時複製
適合情境 全球使用者快速讀取內容 多區備援、跨區低延遲讀取

最簡單記法

服務 / 名詞 一句話
CloudFront 把內容快取到全球,讓使用者讀更快
S3 Bucket 原始資料的總倉庫
CloudFront Cache 放在邊緣節點的暫存副本
S3 Cross-Region Replication 把 S3 資料複製到另一個 Region
OAC 讓 S3 只允許 CloudFront 存取
Edge Location 離使用者最近的快取節點
Origin CloudFront 背後真正取資料的來源

一句話總結

CloudFront 是全球快取服務,讓使用者從最近的節點讀取內容; S3 Cross-Region Replication 是跨區複製資料,可以理解成建立指定區域的分倉。

參考網址

沒有留言:

張貼留言

AWS Security and Compliance 總整理

AWS Security and Compliance 總整理 一、核心概念 AWS 安全與合規不是靠單一服務,而是透過多層防護來完成。 從外部流量防護、身分權限、資料加密、設定稽核、威脅偵測,到集中管理與事件調查, 每一個服務...