AWS S3 完整教學:儲存類別、費用計算、實作指南【2025】

AWS S3 完整教學:儲存類別、費用計算、實作指南【2025】
把 1TB 資料存在 S3,一個月只要 23 美元。同樣的容量買硬碟,加上伺服器、電費、維護成本,花費是好幾倍。更重要的是,S3 的資料持久性是 99.999999999%——存進去的檔案,幾乎不可能掉。
這篇文章會帶你從頭認識 S3——從它是什麼、有哪些儲存類別、怎麼收費,到實際建立 Bucket 的完整步驟。
什麼是 AWS S3?
S3(Simple Storage Service)是 AWS 的物件儲存服務。它是 AWS 2006 年推出的第一個服務,也是現在最多人使用的服務之一。
物件儲存 vs 傳統儲存
傳統儲存(像你電腦的硬碟)是「區塊儲存」或「檔案儲存」,資料有目錄結構、檔案路徑。
S3 是「物件儲存」,每個檔案是一個「物件」,透過唯一的 Key(識別碼)來存取。雖然 Key 可以包含斜線(看起來像資料夾),但底層其實是扁平的。
| 面向 | 傳統儲存 | S3 物件儲存 |
|---|---|---|
| 結構 | 目錄階層 | 扁平(Key-Value) |
| 存取方式 | 檔案路徑 | HTTP API / URL |
| 擴展性 | 受限於硬體 | 幾乎無限 |
| 持久性 | 依硬體 | 99.999999999% |
| 存取延遲 | 毫秒級 | 數十毫秒級 |
S3 的核心概念
Bucket(儲存貯體)
Bucket 是 S3 的容器,所有物件都存在 Bucket 裡。每個 Bucket 有全球唯一的名稱。
s3://my-company-bucket/images/logo.png
└── Bucket 名稱 ──┘└── Key ──┘
Object(物件)
物件是 S3 儲存的基本單位,包含:
- Key:物件的唯一識別碼(類似檔案路徑)
- Value:實際資料內容
- Metadata:物件的描述資訊(類型、大小、自訂屬性)
- Version ID:版本編號(若啟用版本控制)
單一物件最大 5TB,單一 Bucket 可存無限多物件。
11 個 9 的持久性
S3 的持久性(Durability)是 99.999999999%,也就是「11 個 9」。
這代表什麼?如果你存了 1,000 萬個檔案,平均要 10 萬年 才會掉一個。
S3 達到這個數字的方法是:每個物件自動複製到同一區域的至少 3 個可用區(AZ)。任何一個機房出問題,其他地方還有備份。
S3 儲存類別比較
S3 有多種儲存類別,價格和存取速度不同。選對類別可以大幅省錢。
儲存類別總覽
| 類別 | 存取頻率 | 最低存放 | 取回時間 | 每 GB 月費 |
|---|---|---|---|---|
| S3 Standard | 頻繁 | 無 | 即時 | $0.023 |
| S3 Intelligent-Tiering | 不確定 | 無 | 即時 | $0.0025-0.023 |
| S3 Standard-IA | 不頻繁 | 30 天 | 即時 | $0.0125 |
| S3 One Zone-IA | 不頻繁 | 30 天 | 即時 | $0.01 |
| S3 Glacier Instant | 極少 | 90 天 | 即時 | $0.004 |
| S3 Glacier Flexible | 歸檔 | 90 天 | 分鐘-小時 | $0.0036 |
| S3 Glacier Deep Archive | 長期歸檔 | 180 天 | 12-48 小時 | $0.00099 |
*價格以美東區域為例
S3 Standard
最常用的類別,適合需要頻繁存取的資料。
特點:
- 即時存取
- 高可用性(99.99%)
- 無最低存放天數
- 無取回費用
適用場景:
- 網站靜態資源(圖片、CSS、JS)
- 經常存取的應用程式資料
- 資料湖的熱資料
S3 Intelligent-Tiering
不確定存取頻率時的最佳選擇。S3 會自動分析存取模式,把資料移到最適合的層級。
運作方式:
- Frequent Access:經常存取的資料
- Infrequent Access:30 天未存取自動移入
- Archive Instant Access:90 天未存取自動移入
- Archive Access:180 天未存取自動移入(選用)
- Deep Archive Access:180+ 天未存取(選用)
特點:
- 每月少量監控費($0.0025/1,000 物件)
- 無取回費用
- 自動優化成本
適用場景:
- 存取模式不可預測的資料
- 不想花時間管理儲存類別
- 資料湖
S3 Standard-IA(Infrequent Access)
價格比 Standard 低 45%,但有取回費用。適合不常存取但需要即時取回的資料。
特點:
- 即時存取
- 最低存放 30 天
- 最低計費 128KB
- 取回費用 $0.01/GB
適用場景:
- 備份資料
- 災難復原副本
- 長期保存但偶爾需要的資料
S3 One Zone-IA
比 Standard-IA 更便宜(便宜 20%),但資料只存在單一可用區。
特點:
- 只存在一個 AZ(如果該 AZ 故障,資料可能遺失)
- 持久性仍有 99.999999999%
- 可用性較低(99.5%)
適用場景:
- 可重新產生的資料
- 備份的備份
- 測試環境資料
⚠️ 注意:重要資料不建議用 One Zone-IA
S3 Glacier Instant Retrieval
長期保存但偶爾需要即時存取的資料。
特點:
- 即時存取(毫秒級)
- 最低存放 90 天
- 儲存費用比 Standard-IA 低 68%
- 取回費用較高($0.03/GB)
適用場景:
- 醫療影像
- 新聞媒體資產
- 用戶生成內容存檔
S3 Glacier Flexible Retrieval
傳統的歸檔儲存,取回需要時間但價格最低。
取回選項:
| 選項 | 時間 | 費用 |
|---|---|---|
| Expedited | 1-5 分鐘 | $0.03/GB |
| Standard | 3-5 小時 | $0.01/GB |
| Bulk | 5-12 小時 | $0.0025/GB |
適用場景:
- 合規歸檔(每年存取 1-2 次)
- 數位媒體保存
- 長期備份
S3 Glacier Deep Archive
最便宜的儲存類別,適合幾乎不會存取的資料。
特點:
- 儲存費用只有 $0.00099/GB(比 Standard 便宜 95%)
- 最低存放 180 天
- 取回時間 12-48 小時
適用場景:
- 法規要求保存 7-10 年的資料
- 金融交易記錄
- 醫療記錄歸檔
儲存類別選擇指南
你的資料多久存取一次?
│
├─ 每天/每週 → S3 Standard
│
├─ 不確定 → S3 Intelligent-Tiering
│
├─ 每月 1-2 次
│ ├─ 需要即時存取 → S3 Standard-IA
│ └─ 可重新產生 → S3 One Zone-IA
│
├─ 每季度 1-2 次
│ └─ 需要即時存取 → S3 Glacier Instant Retrieval
│
├─ 每年 1-2 次
│ └─ 可等幾小時 → S3 Glacier Flexible Retrieval
│
└─ 幾乎不存取(合規保存)
└─ S3 Glacier Deep Archive
儲存類別選對了嗎?可能省下一半費用
很多企業把所有資料都放在 S3 Standard,其實 80% 的資料一年存取不到幾次。正確使用 Lifecycle Policy 自動降階,平均可以省下 40-60% 儲存費用。
預約免費帳單健檢,讓我們幫你分析 S3 費用優化空間。
S3 費用計算詳解
S3 的費用不只是儲存費,還包括請求費和傳輸費。理解完整的計費結構,才能準確預估成本。
費用組成
S3 總費用 = 儲存費 + 請求費 + 資料傳輸費 + (管理功能費)
儲存費用
按實際使用容量計費,不同儲存類別價格不同。
範例計算(美東區域):
| 儲存類別 | 容量 | 單價 | 月費 |
|---|---|---|---|
| Standard | 100 GB | $0.023/GB | $2.30 |
| Standard-IA | 500 GB | $0.0125/GB | $6.25 |
| Glacier Deep Archive | 1 TB | $0.00099/GB | $1.01 |
請求費用
每次對 S3 的操作都會產生請求費。
主要請求類型:
| 請求類型 | 說明 | Standard 價格 |
|---|---|---|
| PUT/COPY/POST/LIST | 寫入、複製、列表 | $0.005/1,000 請求 |
| GET/SELECT | 讀取 | $0.0004/1,000 請求 |
| DELETE | 刪除 | 免費 |
| Lifecycle Transition | 自動轉移 | $0.01/1,000 請求 |
範例:
- 上傳 10,000 個檔案:$0.05
- 下載 100,000 次:$0.04
注意:Glacier 類別的取回請求費用較高。
資料傳輸費用
傳入 S3(Ingress):免費
從任何地方上傳資料到 S3 不收費。
傳出 S3(Egress):
| 傳輸目的地 | 價格 |
|---|---|
| 傳到網際網路(前 100 GB/月) | 免費 |
| 傳到網際網路(超過 100 GB) | $0.09/GB |
| 傳到同區域 EC2 | 免費 |
| 傳到不同區域 | $0.02/GB |
| 傳到 CloudFront | 免費 |
省錢技巧:
- 把 EC2 和 S3 放在同一區域
- 使用 CloudFront 作為 CDN(傳輸到 CloudFront 免費)
費用計算實例
情境:電商網站圖片儲存
配置:
- 500 GB 產品圖片(Standard,高頻存取)
- 2 TB 歷史訂單資料(Standard-IA)
- 每月 100 萬次圖片讀取
- 每月 500 GB 傳輸到網際網路
| 項目 | 計算 | 費用 |
|---|---|---|
| Standard 儲存 | 500 GB × $0.023 | $11.50 |
| Standard-IA 儲存 | 2,000 GB × $0.0125 | $25.00 |
| GET 請求 | 1,000,000 ÷ 1,000 × $0.0004 | $0.40 |
| 資料傳輸 | 400 GB × $0.09(扣除免費 100 GB) | $36.00 |
| 總計 | $72.90/月 |
S3 Bucket 建立教學
步驟一:登入 AWS Console
- 前往 AWS Console
- 搜尋「S3」,點擊進入 S3 服務
步驟二:建立 Bucket
-
點擊「Create bucket」
-
General configuration
- Bucket name:輸入全球唯一的名稱
- 只能用小寫字母、數字、連字號
- 3-63 個字元
- 例如:
my-company-assets-2025
- AWS Region:選擇區域(建議選離用戶最近的)
- Bucket name:輸入全球唯一的名稱
-
Object Ownership
- 保持預設「ACLs disabled」(推薦)
-
Block Public Access settings
- 預設全部勾選(封鎖公開存取)
- 如果要公開(如靜態網站),再根據需求取消
-
Bucket Versioning
- Disable:不保留歷史版本(預設)
- Enable:保留所有版本(防止誤刪,但會增加儲存費)
-
Default encryption
- 選擇加密方式
- 建議選「Server-side encryption with Amazon S3 managed keys (SSE-S3)」
-
點擊「Create bucket」
步驟三:上傳物件
- 點擊剛建立的 Bucket 名稱
- 點擊「Upload」
- 把檔案拖曳進來,或點擊「Add files」
- (選填)Properties
- Storage class:選擇儲存類別
- Server-side encryption:加密設定
- 點擊「Upload」
步驟四:設定權限
情境一:完全私有(預設)
不需要額外設定,只有 AWS 帳號擁有者和被授權的 IAM 用戶可以存取。
情境二:透過 CloudFront 公開(推薦)
- 建立 CloudFront Distribution,Origin 指向 S3
- 設定 Origin Access Control(OAC)
- S3 Bucket Policy 只允許 CloudFront 存取
情境三:直接公開 Bucket(不推薦)
- 取消 Block Public Access
- 設定 Bucket Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}
⚠️ 警告:公開 Bucket 要非常小心,確保沒有敏感資料。
步驟五:設定 Lifecycle Policy
自動將舊資料降階到更便宜的儲存類別。
- 進入 Bucket,點擊「Management」標籤
- 點擊「Create lifecycle rule」
- 設定規則:
- Rule name:例如「archive-old-files」
- Filter:可限定特定前綴(如
logs/)
- 設定 Lifecycle rule actions:
- 例如:30 天後移到 Standard-IA
- 例如:90 天後移到 Glacier
- 例如:365 天後刪除
- 點擊「Create rule」
範例設定:
┌─────────────┐ 30天 ┌──────────────┐ 90天 ┌─────────────┐
│ Standard │ ───────> │ Standard-IA │ ───────> │ Glacier │
│ $0.023/GB │ │ $0.0125/GB │ │ $0.004/GB │
└─────────────┘ └──────────────┘ └─────────────┘
S3 常見使用場景
靜態網站托管
S3 可以直接托管靜態網站(HTML、CSS、JS)。
設定步驟:
- 上傳網站檔案到 Bucket
- 在 Properties 啟用「Static website hosting」
- 設定 Index document(如
index.html) - 設定公開存取權限
搭配 CloudFront:
- 使用 CloudFront 作為 CDN
- 可以用自訂域名
- 支援 HTTPS
- 全球加速
👉 適合:官網、Landing Page、文件網站、SPA 前端
資料備份
S3 是最熱門的雲端備份目的地。
備份策略:
- 使用 S3 Standard 存放最近 30 天備份
- 使用 Glacier 存放更久的備份
- 啟用版本控制防止誤刪
- 設定跨區域複製(CRR)增加保護
👉 適合:資料庫備份、系統備份、檔案歸檔
資料湖
S3 是建立資料湖的首選儲存。
架構範例:
資料來源 → S3 Landing Zone → AWS Glue(ETL) → S3 Curated Zone → Athena/Redshift
優勢:
- 儲存成本低
- 可直接用 Athena 查詢 S3 資料
- 支援各種格式(CSV、JSON、Parquet、ORC)
- 與 AWS 分析服務無縫整合
👉 適合:大數據分析、機器學習資料儲存
應用程式資產儲存
把應用程式的檔案(圖片、影片、文件)存在 S3。
常見模式:
- 用戶上傳檔案到後端
- 後端將檔案存到 S3
- 回傳 S3 URL 給用戶
- 用戶透過 CloudFront 存取檔案
或使用 Pre-signed URL:
- 後端產生 Pre-signed URL
- 用戶直接上傳到 S3(不經過後端)
- 減輕後端負擔
👉 適合:社群媒體、電商、內容平台
S3 安全最佳實踐
預設封鎖公開存取
所有新 Bucket 預設就會封鎖公開存取。除非有明確需求,否則不要取消。
啟用版本控制
版本控制可以:
- 防止誤刪(刪除只是加上 Delete Marker)
- 保留檔案歷史版本
- 配合 MFA Delete 增加保護
注意:版本控制會增加儲存費用,舊版本也會佔用空間。可以設定 Lifecycle Policy 自動刪除舊版本。
使用 Server-Side Encryption
S3 支援多種加密方式:
| 類型 | 說明 | 適用場景 |
|---|---|---|
| SSE-S3 | AWS 管理金鑰 | 一般用途(推薦) |
| SSE-KMS | AWS KMS 管理金鑰 | 需要稽核金鑰使用 |
| SSE-C | 客戶提供金鑰 | 需要完全控制金鑰 |
建議:至少使用 SSE-S3,對於敏感資料使用 SSE-KMS。
設定 Bucket Policy
明確定義誰可以做什麼操作。
最小權限原則範例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:role/MyAppRole"
},
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-bucket/app-data/*"
}
]
}
啟用存取日誌
記錄所有對 Bucket 的存取,用於安全稽核。
- 建立一個專門存日誌的 Bucket
- 在目標 Bucket 的 Properties 啟用 Server access logging
- 指定日誌存放位置
設定 S3 Object Lock
對於需要 WORM(Write Once Read Many)合規的資料,使用 Object Lock 防止刪除和覆寫。
常見問題
S3 和 EBS 有什麼差別?
- S3:物件儲存,透過 HTTP API 存取,適合檔案、備份、靜態資源
- EBS:區塊儲存,像硬碟一樣掛載到 EC2,適合作業系統、資料庫
S3 可以掛載到 EC2 嗎?
不能直接掛載。但可以用 AWS CLI 或 SDK 存取,或用 S3 File Gateway 透過 NFS 協定存取。
如何限制 S3 費用?
- 選擇正確的儲存類別
- 設定 Lifecycle Policy 自動降階
- 刪除不需要的舊版本
- 監控 Cost Explorer 找出費用來源
- 設定 AWS Budgets 警報
Pre-signed URL 是什麼?
一個帶有簽章的臨時 URL,讓沒有 AWS 認證的用戶可以暫時存取私有物件。可以設定有效期限。
下一步
S3 是 AWS 最重要的服務之一,幾乎所有 AWS 架構都會用到它。掌握 S3,你就掌握了雲端儲存的核心。
建議的學習路徑:
- 實作:建立一個 Bucket,上傳檔案,設定 Lifecycle
- 搭配 EC2:讓 EC2 應用程式存取 S3
- 搭配 Lambda:設定 S3 Event 觸發 Lambda
- 進階:CloudFront + S3 靜態網站
S3 架構規劃需要協助?
從儲存類別選擇、Lifecycle 設定到安全配置,S3 有很多細節需要考量。CloudInsight 團隊有豐富的 S3 架構經驗,幫助過多家企業優化儲存成本和效能。
預約免費諮詢,讓我們幫你設計最適合的 S3 架構。
延伸閱讀
- AWS 完整指南:服務介紹、費用、證照、台灣資源全面解析
- AWS EC2 完整教學:執行個體類型、定價、實作指南
- AWS Lambda 入門指南:無伺服器運算教學、定價、使用場景
- AWS VPC 入門教學:虛擬私有雲架設、子網路、安全設定
- AWS 費用完整指南:定價模式、計算器教學、省錢技巧
插圖:S
場景描述: S
視覺重點:
- 主要內容清晰呈現
必須出現的元素:
- 依據描述中的關鍵元素
需要顯示的中文字: 無
顏色調性: 專業、清晰
避免元素: 抽象圖形、齒輪、發光特效
Slug:
s3-storage-classes-comparison
插圖:S
場景描述: S
視覺重點:
- 主要內容清晰呈現
必須出現的元素:
- 依據描述中的關鍵元素
需要顯示的中文字: 無
顏色調性: 專業、清晰
避免元素: 抽象圖形、齒輪、發光特效
Slug:
s3-pricing-breakdown
插圖:S
場景描述: S
視覺重點:
- 主要內容清晰呈現
必須出現的元素:
- 依據描述中的關鍵元素
需要顯示的中文字: 無
顏色調性: 專業、清晰
避免元素: 抽象圖形、齒輪、發光特效
Slug:
s3-lifecycle-policy-flow
插圖:S
場景描述: S
視覺重點:
- 主要內容清晰呈現
必須出現的元素:
- 依據描述中的關鍵元素
需要顯示的中文字: 無
顏色調性: 專業、清晰
避免元素: 抽象圖形、齒輪、發光特效
Slug:
s3-bucket-structure
相關文章
AWS AI 服務完整指南:Bedrock、SageMaker、AI 證照介紹【2025】
AWS AI 服務完整解析,涵蓋 Bedrock 生成式 AI(Claude、Llama 模型)、SageMaker 機器學習平台、Kiro AI 開發工具,以及 AWS AI Practitioner 證照介紹與三大雲 AI 服務比較。
AWSAWS 證照完整攻略:2025 考試指南、準備方法、價值分析
AWS 證照值得考嗎?本文完整解析 2025 年 AWS 證照體系(12 張證照)、各證照適用對象、考試費用、準備方法、薪資影響,以及證照順序建議。
AWSAWS 完整指南:服務介紹、費用、證照、台灣資源全面解析【2025】
AWS 是什麼?本文完整解析 Amazon Web Services 核心服務(EC2、S3、Lambda)、費用計算、證照考試、台灣代理商與資源,以及與 Azure、GCP 的比較。