S3、EBS、EFS 的差異 — 初學者向解說
整理 AWS 代表性的儲存服務 Amazon S3、Amazon EBS、Amazon EFS 的差異、考試重點以及實務上的使用區分。
比較對象服務
點擊服務名稱可在術語詳細頁面複習。
結論
Amazon S3、Amazon EBS、Amazon EFS 都是 AWS 的儲存服務,但使用情境其實差異相當大。
剛開始可以用下表的方式記憶。
| 服務 | 一句話定位 | 主要使用場景 |
|---|---|---|
| Amazon S3 | 用來保存檔案的物件儲存 | 圖片、影片、日誌、備份、靜態網站 |
| Amazon EBS | 連接到 EC2 的虛擬磁碟 | EC2 的 OS 區、應用程式用磁碟 |
| Amazon EFS | 可從多台 EC2 共用的檔案儲存 | 多台伺服器共用的檔案存放區 |
判斷時可以先依照以下原則。
- 想保存網站的圖片或靜態檔案:S3
- 想作為 EC2 的磁碟使用:EBS
- 想讓多台 EC2 共用相同檔案:EFS
比較表
| 項目 | S3 | EBS | EFS |
|---|---|---|---|
| 正式名稱 | Amazon Simple Storage Service | Amazon Elastic Block Store | Amazon Elastic File System |
| 種類 | 物件儲存 | 區塊儲存 | 檔案儲存 |
| 主要用途 | 檔案保存、靜態網站、備份、日誌保存 | EC2 的磁碟 | 多台 EC2 之間的共用檔案系統 |
| 連接對象 | 應用程式、瀏覽器、AWS 服務 | 原則上為 EC2 執行個體 | 多個 EC2 執行個體 |
| 存取方式 | HTTP API、SDK、CLI、主控台 | 由 OS 視為磁碟使用 | 透過 NFS 掛載 |
| 多伺服器共用 | 可以,但並非檔案系統 | 基本上連接到單一 EC2 | 可以 |
| 容量擴充 | 實質上自動擴充 | 指定磁碟區容量 | 自動擴充 |
| 可用性 | 跨多個 AZ 提供高耐久性 | 單一 AZ 內的磁碟區 | 可從多個 AZ 存取 |
| 代表性考試關鍵字 | 物件、儲存貯體、耐久性、儲存類別 | EC2、區塊、磁碟區、快照 | NFS、共用檔案、多 EC2 |
| 本專案中的用途 | 保存靜態網站檔案 | MVP 階段不使用 | MVP 階段不使用 |
初學者導向說明
Amazon S3
S3 是將檔案以「物件」形式保存的服務。
可保存圖片、PDF、HTML、CSS、JavaScript、日誌檔案、備份檔案等內容。
本專案中採用的架構是將 Next.js 靜態輸出的檔案放在 S3,再透過 Amazon CloudFront 分發。
Amazon EBS
EBS 是連接到 EC2 使用的磁碟。
可類比為本地 PC 的「內建 SSD」或「外接磁碟」。
在 EC2 上執行應用程式時,會使用 EBS 來存放 OS 與應用程式的檔案。
Amazon EFS
EFS 用於多台 EC2 想共用相同檔案的情境。
例如多台 Web 伺服器想參照相同的上傳檔案時會使用。
與 S3 不同的地方在於,EFS 可作為檔案系統掛載使用,這是其特色。
考試常考重點
CLF-C02 容易出題的重點
- S3 是物件儲存
- EBS 是連接到 EC2 的區塊儲存
- EFS 是可從多台 EC2 共用的檔案儲存
- S3 可用於靜態網站分發與備份
- EBS 可透過快照進行備份
- EFS 多用於 Linux 系統的檔案共用
SAA-C03 容易出題的重點
- 靜態內容分發的基本架構是 S3 + CloudFront
- EC2 的持續性磁碟使用 EBS
- 處理跨多 AZ 的 EC2 共用檔案時考慮 EFS
- 依高頻存取、低頻存取、封存等情境區分使用 S3 儲存類別
- EBS 綁定於 AZ,因此無法直接連接到不同 AZ 的 EC2
- EFS 可從多個 AZ 存取,適合共用用途
實務上的使用區分
選擇 S3 的情境
- 想公開靜態網站
- 想保存圖片或 PDF
- 想保存日誌檔案
- 想保存備份
- 想結合 CloudFront 分發靜態內容
本專案中,S3 是必需的。
選擇 EBS 的情境
- 使用 EC2 建構 Web 伺服器
- 需要 EC2 的 OS 磁碟
- 在 EC2 上建構資料庫
- 想為特定 EC2 附加高效能磁碟
本專案的 MVP 不使用 EC2,因此也不使用 EBS。
選擇 EFS 的情境
- 想讓多台 EC2 共用相同檔案
- 想從 Linux 伺服器透過 NFS 使用共用儲存
- 需要橫跨多個 AZ 的共用檔案系統
本專案的 MVP 不採用多 EC2 架構,因此也不使用 EFS。
常見錯誤
錯誤 1:以為 S3 可作為 EC2 的磁碟使用
S3 是物件儲存。
若要從 EC2 的 OS 作為一般磁碟直接使用,請使用 EBS。
錯誤 2:以為 EBS 可簡單地由多台 EC2 共用
EBS 基本上是連接到 EC2 的區塊儲存。
若想讓多台 EC2 共用檔案,請考慮 EFS。
錯誤 3:將 EFS 用於靜態網站分發
靜態網站分發的基本選擇是 S3 + CloudFront。
EFS 屬於檔案共用用途,並非靜態網站分發的首選。
錯誤 4:將 S3、EBS、EFS 全部當成同一種「檔案存放區」記憶
這種記憶方式在考試中容易混淆。
- S3:物件
- EBS:區塊
- EFS:檔案
請以這三個詞整理區分。
相關用語
相關題目
總結
S3、EBS、EFS 是 AWS 儲存的基本。
首先用以下一句話來記憶。
S3 是檔案保存,EBS 是 EC2 的磁碟,EFS 是多台 EC2 的共用檔案系統。
接下來學習的內容
透過比較了解差異後,請使用相關術語與模擬題確認學習成效。AWS 認證考試經常測驗「相似服務的使用情境差異」。