examlab .net 用最有效率的方法,考取最有價值的證照
本篇導覽 約 18 分鐘

Cloud Storage 管理:可擴展的物件儲存

3,600 字 · 約 18 分鐘閱讀 ·

為 ACE 考試掌握 Google Cloud Storage (GCS)。了解儲存類別、生命週期政策、IAM 與 ACL 的區別,以及資料加密。

立即做 20 題練習 → 免費 · 不用註冊 · ACE

理解 Google Cloud Storage (GCS)

Google Cloud Storage (GCS) 是 Google Cloud 提供的統一物件儲存服務 (Object Storage)。與 Compute Engine 的持久性磁碟 (Persistent Disk,塊儲存) 不同,GCS 專為儲存非結構化資料而設計,例如圖片、影片、備份檔案、日誌和靜態網站資源。對於 Associate Cloud Engineer (ACE) 來說,GCS 是最常考的儲存服務,重點在於選擇正確的儲存類別 (Storage Classes) 以及管理資料生命週期 (Lifecycle Management)。

GCS 的效能極高,且具有無限的擴展性,你不需要預先分配空間,只需按實際使用量付費。

白話文解釋

1. 無限大的雲端硬碟 (快遞類比)

  • 儲存桶 (Bucket):就像一個巨大的包裹箱。
  • 物件 (Object):包裹箱裡的內容物。每個物件都有一個唯一的網址。
  • 全域命名空間 (Global Namespace):因為每個儲存桶的名稱在整個 Google Cloud 中必須是唯一的,這就像是全球唯一的快遞編號。

2. 不同溫度的冰箱 (廚房類比)

  • 標準 (Standard): 放在廚房檯面上的食物,隨時要吃(頻繁存取)。
  • 近線 (Nearline): 放在冰箱冷藏室,預計這週會用到(每月存取一次)。
  • 冷線 (Coldline): 放在冷凍櫃深處,預計過年才會拿出來(每季存取一次)。
  • 封存 (Archive): 放在地窖的罐頭,除非緊急情況否則不動(每年存取一次)。

溫度越低,儲存費用越便宜,但存取時的手續費(檢索費)越貴。

3. 公共圖書館的檔案室 (圖書館類比)

  • 物件 (Object): 檔案。
  • 中繼資料 (Metadata): 檔案上的標籤(建立日期、檔案類型)。
  • 版本控制 (Versioning): 檔案的修訂紀錄。如果你不小心塗改了檔案,你可以翻出之前的版本。

建立與管理儲存桶與物件

儲存桶命名規則

儲存桶名稱必須全球唯一。這意味著如果有人用了 'my-bucket',你就不能再用了。此外,名稱不能包含敏感資訊,因為它是公開可見的。 Source ↗

關鍵屬性

  • 位置類型 (Location Type):
    • 區域 (Region): 資料存在單一區域,成本最低,適合低延遲。
    • 雙區域 (Dual-region): 存在兩個區域,提供更高的可用性。
    • 多區域 (Multi-region): 存在一個大地理區域(如美國或歐洲),適合全球分發。

儲存類別:Standard, Nearline, Coldline, Archive

選擇儲存類別是成本優化的核心。

類別 建議存取頻率 最短儲存時間 適用場景
Standard 頻繁(每天多次) 網站內容、串流影片、常用資料。
Nearline 低(每月一次) 30 天 備份、資料分析的原始資料。
Coldline 極低(每季一次) 90 天 災難恢復 (DR)、不常用日誌。
Archive 幾乎不(每年一次) 365 天 法律合規要求存檔。

Storage Classes 用於在資料儲存成本與存取成本之間取得平衡。Standard 適合每日使用;Archive 適合一年一次的存取。 Source ↗

Nearline、Coldline、Archive 三種類別分別強制最短儲存時間 30 天、90 天、365 天。若在最短儲存時間之前刪除或搬移物件,Cloud Storage 仍會按完整最短週期收費,因此 Lifecycle Management 規則在降級資料時必須將這點納入考量,以免產生意料之外的費用。 Source ↗

物件生命週期管理規則

手動更改數百萬個物件的類別是不現實的,這時你需要 生命週期政策 (Lifecycle Policies)

常見條件 (Conditions)

  • 年齡 (Age): 物件建立後經過的天數。
  • 在特定日期前建立 (CreatedBefore): 在特定日期之前建立。
  • 符合儲存類別 (MatchesStorageClass): 目前的類別。

動作 (Actions)

  • 設定儲存類別 (SetStorageClass): 將物件從 Standard 降級到 Coldline 以節省成本。
  • 刪除 (Delete): 刪除過期的日誌。

一個常見的原則是:資料建立後 30 天轉 Nearline,90 天轉 Coldline,365 天刪除。這能顯著降低雲端支出。 Source ↗

資料加密與存取控制

存取控制:IAM vs ACLs

  • IAM (推薦): 在儲存桶層級管理權限,與 Google Cloud 身分系統深度整合。
  • ACLs (傳統): 在個別物件層級管理權限。
  • 統一儲存桶層級存取 (Uniform Bucket-level Access): ::important 啟用此功能後,將禁用 ACLs,強制所有存取都必須透過 IAM。這能防止權限管理的碎片化,是安全性最佳實踐。 Source ↗ ::

加密

  • 伺服器端加密 (預設): Google 使用自己的金鑰加密。
  • 客戶端管理的加密金鑰 (CMEK): 使用 Google Cloud KMS 管理你自己的金鑰。
  • 客戶端提供的加密金鑰 (CSEK): 你在本地端加密後再上傳。

若使用客戶端提供的加密金鑰 (CSEK) 並遺失金鑰,Google 無法為你還原資料。Cloud Storage Buckets 中對應的物件將永久遺失。 Source ↗

進階 GCS 功能

物件版本控制 (Object Versioning)

防止意外刪除。啟用後,刪除物件會產生一個「非目前版本」(Noncurrent version),你可以隨時恢復。

保留政策與儲存桶鎖定 (Retention Policies & Bucket Lock)

確保資料在一段時間內絕對不能被刪除(甚至是擁有者也不行),用於滿足嚴格的合規需求。

靜態網站代管 (Static Website Hosting)

你可以將儲存桶設定為網頁伺服器。只需上傳 index.html 並將權限設為 allUsers:Storage Object Viewer

透過 gsutil CLI 管理 GCS

# 建立儲存桶
gsutil mb -c nearline -l us-central1 gs://my-ace-bucket-123

# 上傳檔案
gsutil cp local-file.txt gs://my-ace-bucket-123/

# 設定生命週期
gsutil lifecycle set config.json gs://my-ace-bucket-123

# 更改物件權限(公開)
gsutil iam ch allUsers:objectViewer gs://my-ace-bucket-123

GCS 最佳實踐

  1. 命名一致性:使用有意義的前綴。
  2. 啟用統一儲存桶層級存取:簡化權限管理。
  3. 利用生命週期政策:自動化成本優化。
  4. 選擇正確的位置:根據用戶分佈選擇區域 (Region) 或多區域 (Multi-region)。

ACE 考試的常見場景

  • 情境:你需要儲存 7 年的法律合規資料,且幾乎不會讀取。
    • 解決方案:使用 Archive Storage 並設定 儲存桶鎖定 (Bucket Lock) 以防止資料被篡改。
  • 情境:你上傳了一個檔案到 GCS,但發現網址打不開。
    • 解決方案:檢查是否賦予了 allUsersStorage Object Viewer 權限,或者檢查是否啟用了 VPC Service Controls。

常見問題 (FAQ)

Q1: GCS 儲存量有上限嗎? 答:理論上沒有,它可以儲存無限量的資料。

Q2: 我可以更改現有儲存桶的名稱嗎? 答:不行。你必須建立一個新儲存桶,將資料遷移過去,然後刪除舊的。

Q3: 什麼是簽署網址 (Signed URLs)? 答:這讓你產生一個臨時連結(例如有效期 10 分鐘),讓沒有 Google 帳號的人也可以安全地存取特定私有檔案。

Q4: Standard 降級到 Nearline 後,讀取速度會變慢嗎? 答:不會。GCS 的所有類別(甚至是 Archive)都提供相同的低延遲存取(毫秒級)。這是它與 AWS S3 Glacier 的主要區別。

Q5: 什麼是 gsutil rsync 答:這是一個非常強大的指令,用於將本地目錄與 GCS 儲存桶進行單向或雙向同步。

在 Cloud Storage Buckets 處理大量上傳或批次傳輸時,建議優先使用 gcloud storage cp 而非舊版的 gsutil cp。新指令採用平行複合上傳 (parallel composite uploads) 與更高效的執行緒模型,不需額外參數即可獲得最高約 94% 的吞吐量提升。 Source ↗

ACE 總結清單

  • 掌握 4 種儲存類別及其成本權衡。
  • 理解生命週期規則的「條件」與「動作」。
  • 區分 IAM 與 ACLs 的使用場景。
  • 記住 gsutil 的基本操作。
  • 了解儲存桶名稱的唯一性要求。

官方資料來源

更多 ACE 主題