AWS S3 儲存桶完全指南:從基礎配置到生產級應用

AWS S3 儲存桶完全指南:從基礎配置到生產級應用

一家跨境電商的CTO曾告訴我們,他們每月在雲端儲存的花費高達數千美元,卻不知道哪些資料在用高價存儲,哪些可以歸檔。切換到AWS S3 後,透過合理配置儲存類別和生命週期策略,第一年儲存成本下降了68%

AWS Simple Storage Service(S3)不只」雲端硬碟」。它是物件儲存的事實標準,支援從圖片、影片、日誌,到靜態網站、大數據分析等多種場景。

但錯誤配置S3 可能導致成本激增、資料洩露,甚至服務中斷。

本文將從零開始,深入說明如何正確配置和最佳化AWS S3 儲存桶,並提供生產級最佳實踐。


AWS S3 基礎:物件儲存與檔案儲存的差異

在傳統檔案系統中,你用資料夾和層級路徑尋找檔案。 S3 是物件儲存,每個物件由唯一鍵、資料和元資料組成。

關鍵差異:

維度 S3(對象儲存) EBS/EFS(文件儲存)
訪問模式 REST API(HTTP/HTTPS) 檔案系統掛載
延時 毫秒到秒 毫秒級
彈性 無限擴展 需預配容量
適用場景 靜態檔案、備份、歸檔、靜態網站 資料庫、應用程式資料、即時讀寫
成本 $0.023/GB 起 $0.125/GB 起(EBS gp3)

如果你存放的是使用者上傳的圖片、產品CSV 匯出、套用日誌、靜態網頁資源,S3 是最佳選擇。


建立第一個S3 儲存桶:逐步操作

透過AWS 控制台創建

  1. 登入AWS 管理控制台→ 搜尋 S3
  2. 點選 “創建儲存桶”
  3. 填寫必要資訊:
    • 儲存桶名稱:全球唯一,只能小寫字母、數字、連字號(如 myapp-assets-2026
    • AWS 區域:選擇離你的用戶最近的區域(中國出海推薦 ap-singapore 或 ap-tokyo
    • Block Public Access(封鎖公共存取)生產環境務必勾選全部,再單獨開放
  4. 點擊”創建儲存桶”

重要:儲存桶名稱全域唯一 即使你創建在新加坡區域,名為 company-data 的儲存桶在全球其他AWS 帳戶都無法再用。


S3 儲存桶配置詳解

1. 權限管理(Access Control)

S3 權限分為三部分:

權限層級 訪問對象 控制方式
Bucket Policy 儲存桶級別 JSON 策略
ACL 單一對象 簡單權限清單
IAM Policy IAM 使用者/角色 IAM 策略

生產環境建議使用順序:

  1. 用 IAM Policy 控制內部使用者/服務
  2. 用 Bucket Policy 控制跨帳戶或匿名訪問
  3. 盡量不使用 ACL(AWS 已不建議)

範例Bucket Policy(允許CloudFront 存取)

注意:不使用程式碼區塊,用文字描述

以下是一個JSON 策略的架構:

首先聲明版本號,通常為 2012-10-17。其次加入一個Statement 數組,每個Statement 包含Sid、Effect、Principal、Action 和Resource。

在Statement 中,Sid 是描述性ID,例如:AllowCloudFrontOriginAccess。 Effect 欄位設定為Allow。 Principal 使用星號表示允許所有,但通常需限定為CloudFront 服務標識。

Action 陣列包含 s3:GetObject 等權限。 Resource 引用資源ARN,格式為 arn:aws:s3:::你的儲存桶名稱 指向整個儲存桶,或 *arn:aws:s3:::你的儲存桶名稱/指向所有對象

配置要點:Resource 欄位必須正確填寫儲存桶ARN,否則權限無效。 Principal 可為特定服務,例如CloudFront 分發時可使用OAI 識別。

2. 儲存類別選擇(Storage Class)

AWS S3 提供多種儲存類別,成本與存取頻次成反比:

儲存類別 每月每GB 最低儲存時長 適用場景
S3 Standard ~$0.023 熱數據,經常訪問
S3 Intelligent-Tiering ~$0.023 + 監測費 訪問模式未知或波動
S3 Standard-IA ~$0.0125 30天 不常訪問,但需快速讀取
S3 One Zone-IA ~$0.01 30天 備份,可接受單AZ故障
S3 Glacier ~$0.0036 90天 歸檔,數小時內可恢復
S3 Glacier Deep Archive ~$0.001 180天 法規歸檔,數月內可恢復

選擇邏輯:

  • 圖片、JS/CSS 靜態資源→ S3 Standard
  • 每月報告、使用者日誌→ S3 Standard-IA
  • 舊版備份、歷史資料→ S3 Glacier
  • 合規存檔→ S3 Glacier Deep Archive

3. 版本控制(Versioning)

開啟版本控制後,S3 會保留每個物件的舊版本。

  • 防止誤刪:刪除操作會新增一個刪除標記而非真刪除
  • 資料恢復:可恢復到任何歷史版本
  • 副作用:儲存成本增加(所有版本都收費)

開啟方法:儲存桶→ 屬性 → 版本控制 → 啟用

最佳實踐:生產儲存桶都應開啟版本控制,配合生命週期策略自動清理舊版(如保留最新3個版本)。


儲存生命週期策略(Lifecycle Rules)

生命週期策略可自動遷移物件到適當儲存類別,或在到期後刪除,是成本優化的核心工具。

常見設定範例:

規則名稱 物件前綴 動作 天數 目的
日誌歸檔 logs/ 遷移到Standard-IA 0 日誌立即進冷存儲
訪問日誌轉歸檔 logs/ 遷移到Glacier 30 30天後轉更低價存儲
刪除舊版本 無前綴 刪除不完整的分段上傳 7 清理未完成上傳
清理歷史版本 無前綴 永久刪除舊版本 保留最近3個 版本控制優化

配置入口:儲存桶→ 管理 → 生命週期規則


S3 靜態網站託管完整配置

S3 可託管純靜態網站(HTML/CSS/JS),成本極低,適合行銷落地頁、文件網站。

設定步驟:

  1. 設定靜態網站託管
    • 儲存桶→ 屬性 → 靜態網站託管
    • 選擇”啟用”
    • 指定索引文檔:index.html
    • 指定錯誤文檔:error.html
  2. 配置權限(安全第一)
    • 儲存桶→ 權限 → Bucket Policy
    • 新增策略允許公開讀取(僅此儲存桶,不影響其他)
  3. 自訂網域名稱(可選)
    • 配置CloudFront 分發指向S3,並與Route 53 綁定
    • 無需為S3 分配證書,在CloudFront 中設定SSL

效能優化建議:

  • 啟用CloudFront:S3 本身無CDN 緩存,全球存取延遲不穩定
  • 壓縮靜態資源:在S3 儲存前Gzip 壓縮JS/CSS
  • 設定快取頭:透過CloudFront 或S3 元資料設置 Cache-Control: max-age=31536000

生產級安全最佳實踐

1. 禁止公開訪問(除必要情況)

預設情況下,所有公共存取都應被阻止。若需開放(如網站託管),透過細粒度策略控制。

2. 啟用AWS 加密(SSE-S3/AES-256)

所有寫入S3 的資料都應啟用伺服器端加密。

  • SSE-S3:AWS 管理的金鑰,零配置
  • KMS:自管理金鑰,符合合規要求

開啟方法:儲存桶→ 屬性 → 預設加密 → 啟用

3. 設定存取日誌(Server Access Logging)

記錄所有存取請求,用於審計和安全分析。

配置:儲存桶→ 屬性 → 伺服器訪問日誌 → 選擇另一個儲存桶存放日誌

4. 避免使用IAM 使用者存取密鑰

用 IAM 角色(如EC2 實例角色)暫時取得權限,而非硬編碼存取金鑰。


成本監控與最佳化

每月帳單檢查項:

  1. 儲存費用:按儲存類別和容量計費
  2. 請求費用:PUT/COPY/POST/LIST 請求
  3. 資料傳輸:到互聯網或跨區域
  4. 管理功能:如S3 Inventory、分析查詢

成本優化策略:

策略 預期節省 適用場景
啟用Intelligent-Tiering 20%–40% 訪問模式不確定
設定生命週期策略 40%–70% 有明確數據淘汰週期
壓縮資料上傳 30%–60% 可壓縮的日誌/文字
限制跨區域傳輸 避免意外費用 不必要的資料複製

工具:使用 AWS Cost Explorer 篩選 Service=S3 查看細分成本。


常見問題解答

Q1:S3 儲存桶突然無法存取,如何排查?

  1. 檢查 Bucket Policy 是否被誤改
  2. 檢查 IAM 角色權限是否過期
  3. 查看 CloudTrail 日誌,看是否有異常操作
  4. 檢查 阻止公共訪問 設定是否被誤開

Q2:如何實現跨區域複製(Cross-Region Replication)?

在儲存桶→ 管理 → 複製規則 中配置。需開啟版本控制。適合合規要求多備份的場景。

Q3:S3 儲存桶和檔案有大小限制嗎?

  • 單一物件最大5TB
  • 單一PUT 請求最大5GB(大於5GB 需用分段上傳
  • 儲存桶容量無限

結語:S3 是AWS 生態的”數據湖心臟”

正確配置S3 不僅能確保資料安全,更能大幅降低雲端儲存成本。建議每個出海企業至少熟悉:

  1. 儲存類別與生命週期策略
  2. 權限管理(Bucket Policy vs IAM)
  3. 靜態網站託管與CDN 集成

這三點掌握後,你就能把S3 從」簡單的檔案儲存」升級為高效率的數據管理平台


🔧 免費取得AWS S3 儲存成本診斷

AWS-onCloudAI 提供免費的儲存架構審查,包括:

  • 儲存類別優化建議
  • 權限配置安全性審查
  • 生命週期策略制定

👉 訪問 aws-oncloudai.com 預約免費諮詢

本文由AWS-onCloudAI 雲端架構團隊撰寫,專注於協助中國企業有效率地使用AWS 雲端服務,降低成本,並增強安全。

更多探索

Tell me what you need