返回首頁AWS

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

21 min 分鐘閱讀

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

傳統的歸檔儲存,取回需要時間但價格最低。

取回選項:

選項時間費用
Expedited1-5 分鐘$0.03/GB
Standard3-5 小時$0.01/GB
Bulk5-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 總費用 = 儲存費 + 請求費 + 資料傳輸費 + (管理功能費)

儲存費用

按實際使用容量計費,不同儲存類別價格不同。

範例計算(美東區域):

儲存類別容量單價月費
Standard100 GB$0.023/GB$2.30
Standard-IA500 GB$0.0125/GB$6.25
Glacier Deep Archive1 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

  1. 前往 AWS Console
  2. 搜尋「S3」,點擊進入 S3 服務

步驟二:建立 Bucket

  1. 點擊「Create bucket」

  2. General configuration

    • Bucket name:輸入全球唯一的名稱
      • 只能用小寫字母、數字、連字號
      • 3-63 個字元
      • 例如:my-company-assets-2025
    • AWS Region:選擇區域(建議選離用戶最近的)
  3. Object Ownership

    • 保持預設「ACLs disabled」(推薦)
  4. Block Public Access settings

    • 預設全部勾選(封鎖公開存取)
    • 如果要公開(如靜態網站),再根據需求取消
  5. Bucket Versioning

    • Disable:不保留歷史版本(預設)
    • Enable:保留所有版本(防止誤刪,但會增加儲存費)
  6. Default encryption

    • 選擇加密方式
    • 建議選「Server-side encryption with Amazon S3 managed keys (SSE-S3)」
  7. 點擊「Create bucket」

步驟三:上傳物件

  1. 點擊剛建立的 Bucket 名稱
  2. 點擊「Upload」
  3. 把檔案拖曳進來,或點擊「Add files」
  4. (選填)Properties
    • Storage class:選擇儲存類別
    • Server-side encryption:加密設定
  5. 點擊「Upload」

步驟四:設定權限

情境一:完全私有(預設)

不需要額外設定,只有 AWS 帳號擁有者和被授權的 IAM 用戶可以存取。

情境二:透過 CloudFront 公開(推薦)

  1. 建立 CloudFront Distribution,Origin 指向 S3
  2. 設定 Origin Access Control(OAC)
  3. S3 Bucket Policy 只允許 CloudFront 存取

情境三:直接公開 Bucket(不推薦)

  1. 取消 Block Public Access
  2. 設定 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

自動將舊資料降階到更便宜的儲存類別。

  1. 進入 Bucket,點擊「Management」標籤
  2. 點擊「Create lifecycle rule」
  3. 設定規則:
    • Rule name:例如「archive-old-files」
    • Filter:可限定特定前綴(如 logs/
  4. 設定 Lifecycle rule actions:
    • 例如:30 天後移到 Standard-IA
    • 例如:90 天後移到 Glacier
    • 例如:365 天後刪除
  5. 點擊「Create rule」

範例設定:

┌─────────────┐   30天    ┌──────────────┐   90天    ┌─────────────┐
│  Standard   │ ───────> │ Standard-IA  │ ───────> │   Glacier   │
│  $0.023/GB  │          │  $0.0125/GB  │          │  $0.004/GB  │
└─────────────┘          └──────────────┘          └─────────────┘

S3 常見使用場景

靜態網站托管

S3 可以直接托管靜態網站(HTML、CSS、JS)。

設定步驟:

  1. 上傳網站檔案到 Bucket
  2. 在 Properties 啟用「Static website hosting」
  3. 設定 Index document(如 index.html
  4. 設定公開存取權限

搭配 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。

常見模式:

  1. 用戶上傳檔案到後端
  2. 後端將檔案存到 S3
  3. 回傳 S3 URL 給用戶
  4. 用戶透過 CloudFront 存取檔案

或使用 Pre-signed URL:

  1. 後端產生 Pre-signed URL
  2. 用戶直接上傳到 S3(不經過後端)
  3. 減輕後端負擔

👉 適合:社群媒體、電商、內容平台


S3 安全最佳實踐

預設封鎖公開存取

所有新 Bucket 預設就會封鎖公開存取。除非有明確需求,否則不要取消。

啟用版本控制

版本控制可以:

  • 防止誤刪(刪除只是加上 Delete Marker)
  • 保留檔案歷史版本
  • 配合 MFA Delete 增加保護

注意:版本控制會增加儲存費用,舊版本也會佔用空間。可以設定 Lifecycle Policy 自動刪除舊版本。

使用 Server-Side Encryption

S3 支援多種加密方式:

類型說明適用場景
SSE-S3AWS 管理金鑰一般用途(推薦)
SSE-KMSAWS 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 的存取,用於安全稽核。

  1. 建立一個專門存日誌的 Bucket
  2. 在目標 Bucket 的 Properties 啟用 Server access logging
  3. 指定日誌存放位置

設定 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 費用?

  1. 選擇正確的儲存類別
  2. 設定 Lifecycle Policy 自動降階
  3. 刪除不需要的舊版本
  4. 監控 Cost Explorer 找出費用來源
  5. 設定 AWS Budgets 警報

Pre-signed URL 是什麼?

一個帶有簽章的臨時 URL,讓沒有 AWS 認證的用戶可以暫時存取私有物件。可以設定有效期限。


下一步

S3 是 AWS 最重要的服務之一,幾乎所有 AWS 架構都會用到它。掌握 S3,你就掌握了雲端儲存的核心。

建議的學習路徑:

  1. 實作:建立一個 Bucket,上傳檔案,設定 Lifecycle
  2. 搭配 EC2:讓 EC2 應用程式存取 S3
  3. 搭配 Lambda:設定 S3 Event 觸發 Lambda
  4. 進階:CloudFront + S3 靜態網站

S3 架構規劃需要協助?

從儲存類別選擇、Lifecycle 設定到安全配置,S3 有很多細節需要考量。CloudInsight 團隊有豐富的 S3 架構經驗,幫助過多家企業優化儲存成本和效能。

預約免費諮詢,讓我們幫你設計最適合的 S3 架構。


延伸閱讀


插圖: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

需要專業的雲端建議?

無論您正在評估雲平台、優化現有架構,或尋找節費方案,我們都能提供協助

預約免費諮詢

相關文章