🗺️ GCP 服務地圖
儲存・Cloud Storage・CDL/ACE/ADP/PDE

Cloud Storage 儲存空間級別、位置類型與生命週期:資料放哪一區、放在哪裡、放多久

同一份檔案放進 Cloud Storage,級別選錯,帳單可能多出好幾倍;位置選錯,一個區域出事就讀不到;沒有設好保護,一行指令就能把它刪掉。這一頁把「放哪一區」「放在哪裡」「放多久、怎麼防刪」三件事一次理清楚。

四種級別+Autoclass 成本試算(示意單價) 位置類型故障與資料保護模擬 控制台 × gcloud × Terraform 同步操作

💡 先搞懂問題

虛構的「青松物流」把三種資料都放進 Cloud Storage:客服每天要查的出貨單據、只有稽核時才翻的系統日誌,以及法規要求保存七年的合約掃描檔。一開始全部放在預設的 Standard,帳單跟著資料量一路往上爬。後來有人為了省錢,把整個值區的物件都改成最便宜的 Archive,下個月帳單反而更高:客服每天照樣調單據,每讀 1 GB 都要多付一筆擷取費,被改級別的檔案還因為不到一年就被覆寫,被收了「提早刪除費」。又有一次,整個值區只放在台灣的單一區域,主管問「如果整個區域出事,我們的合約檔還讀得到嗎?」沒人答得出來。再過一陣子,批次程式把一批單據刪掉,幸好值區預設開著軟刪除,七天內還救得回來。

這幾件事分別對應 Cloud Storage 的三組設定。儲存空間級別(storage class)決定每個物件怎麼計費:越冷的級別儲存費越低,但讀取時要付擷取費(retrieval fee),而且有最短儲存期(minimum storage duration),提早刪除或覆寫要補足天數。和 AWS 不同的是,Cloud Storage 的四個級別全部都是毫秒存取,Archive 也不用先「還原」再讀,差別只在價格結構與可用性 SLA。位置類型(location type)決定資料放在一個區域、兩個指定區域,還是一整個大區,也就決定了能撐過哪一種故障。物件生命週期管理(Object Lifecycle Management)、Autoclass 負責依天數或實際讀取情況自動換級別;軟刪除(soft delete)、物件版本管理(Object Versioning)、保留政策(retention policy)與 Bucket Lock 負責「刪了能不能救、能不能被刪」。

倉庫(比喻) Cloud Storage 的正式名稱 門口常用區:租金高、拿貨免費 偶爾拿的區:最少租 30 天 季度才翻的後排:最少 90 天 遠端冷藏庫:最少一年、搬運費最高 一座城市裡的幾棟倉庫 兩座指定城市各一份 交給物流公司在整個大區分配 貼在牆上的搬移排程表 看進出紀錄自動調位的倉管 Standard Nearline(最短 30 天) Coldline(最短 90 天) Archive(最短 365 天) 區域(region) 雙區域(dual-region) 多區域(multi-region) 物件生命週期規則 Autoclass
左欄是比喻,右欄是正式名稱。上面四列是「放哪一區」(級別),中間三列是「放在哪裡」(位置類型),下面兩列是「誰來搬」。級別可以逐一物件設定、之後也能換;位置在建立值區時就決定,一般情況下之後不能改。

生活比喻:一間分區計租、可以選地點的倉庫

想像青松物流向一家倉儲公司租空間。門口的常用區租金最高,但貨拿了就走、不另收費。往裡走是「偶爾拿的區」,租金便宜一半,可是每搬出一箱都要付搬運費,合約還寫明每箱至少計 30 天租金,放三天就搬走也照收 30 天。再往後是季度才翻的區,租金更低、搬運費更高、最少計 90 天。最便宜的是遠端冷藏庫,最少計一年、每次搬運費最高;但這家倉儲公司有個特別之處:不管放在哪一區,打一通電話,貨都是馬上送到,不用預約、不用等。

簽約時還要選地點:只租一座城市裡的幾棟倉庫(便宜、離工廠近,某一棟淹水不影響,但整座城市停電就沒辦法);或是指定兩座城市各放一份,例如台北和高雄(貴一些,每次入庫還要付一筆跨城運送費,但兩份之間的同步要一點時間);或是交給物流公司在整個大區裡自己分配。倉儲公司另外提供兩種服務:牆上的搬移排程表(入庫 30 天移到偶爾拿的區、一年後銷毀),以及會看進出紀錄自動調位的倉管。

回到 Google Cloud:門口常用區是 Standard,偶爾拿的區是 Nearline(最短儲存期 30 天),季度才翻的區是 Coldline(90 天),遠端冷藏庫是 Archive(365 天)。搬運費就是擷取費,「最少計 N 天租金」就是最短儲存期與提早刪除費。選城市就是值區的位置類型:一座城市是區域(region),例如台灣的 asia-east1,資料在區域內的多個可用區(zone)間備援;兩座指定城市是雙區域(dual-region),例如東京加大阪的 ASIA1;交給物流公司分配是多區域(multi-region),只有 ASIA、EU、US 三個。跨城運送費是寫入雙區域或多區域時的跨區域複寫費。排程表是生命週期規則,自動調位的倉管是 Autoclass。
StandardNearlineColdlineArchive 毫秒毫秒毫秒毫秒 無30 天90 天365 天 上排:取用時間(沒有「先還原再讀」) 下排:最短儲存期 儲存費(示意高低)每 GB 擷取費(示意高低,Standard 沒有)
長條只表示相對高低,不是實際比例。四個級別的設計年耐久度都是 99.999999999%(11 個 9),存取延遲都是毫秒級;最短儲存期與「有無擷取費」依 Cloud Storage 文件「Storage classes」,查證時間 2026 年 10 月。另有只能用在單一可用區 Rapid Bucket 的 Rapid 級別,屬於高效能用途,不在這一頁的比較範圍。

再看位置:一個值區可以橫跨兩個區域

在 AWS,S3 儲存貯體屬於單一區域,要跨區域保存就得另設複寫規則;Azure 則把備援設在儲存體帳戶上。Cloud Storage 的做法是:建立值區時直接選位置類型。區域型值區把資料放在同一個區域的多個可用區,設計上能承受任何一個可用區失效;雙區域與多區域值區把資料放在兩個以上的區域,整個區域停擺時,Google 會自動改由另一個區域提供資料,應用程式不必換值區名稱或路徑。代價是儲存單價較高、寫入時要付跨區域複寫費,而且複寫是非同步的:預設目標是新寫入的物件 99.9% 在 1 小時內、100% 在 12 小時內完成跨區域備援;雙區域可以另外付費開啟 Turbo replication,目標是 100% 在 15 分鐘內完成。

區域 雙區域 多區域 asia-east1(台灣) a b c 東京 大阪 ASIA1:非同步複寫 可開 Turbo(15 分鐘) ASIA(大地理範圍) 哪幾個區域由 Google 決定 不能開 Turbo 撐得住一個可用區故障 沒有跨區域複寫費 儲存單價(示意高低):區域最低 → 多區域居中 → 雙區域最高(另收複寫費)
雙區域與多區域都能撐過整個區域故障;差別在雙區域能指定是哪兩個區域(資料落地、災難復原規劃比較好掌握)並可開 Turbo replication。預先定義的雙區域與多區域清單依 Cloud Storage 文件「Bucket locations」,查證時間 2026 年 10 月。圖中方塊數量只是示意。

這個比喻有幾個地方和實際不同。第一,遠端冷藏庫在現實裡通常要等,但 Cloud Storage 的 Archive 一樣是毫秒取得,只是擷取費最高;所以「冷」在這裡只代表價格結構,不代表速度。第二,最短儲存期不是「鎖住不能動」,物件隨時可以刪,只是會補收剩下天數的費用;真正讓物件刪不掉的是保留政策。第三,倉庫可以把貨從冷藏庫搬回門口,Cloud Storage 的生命週期規則卻只能往冷的方向換級別;只有 Autoclass 會在物件被讀取時自動把它移回 Standard。第四,雙區域的「兩座城市各一份」不是瞬間同步,剛寫入的物件可能還沒到另一個區域,這段落差就是復原點目標(RPO,Recovery Point Objective)要回答的問題。

🎮 互動實驗室一:四種級別與 Autoclass 成本試算

先選一個情境,或自己拉滑桿:資料量、每月讀取量、保存天數(之後刪除)。右邊用示意單價算出 Standard、Nearline、Coldline、Archive 在整段保存期間的儲存費、提早刪除費與擷取費。勾選「啟用 Autoclass」會多出一列,依物件平均大小、熱門資料占比與終點級別,模擬 Autoclass 自動換級別的結果。示意單價的單位是「點」,只保留各級別之間大致的高低關係,不是實際價格;實際價格依位置與時間而不同,請以 Cloud Storage 定價頁與 Google Cloud Pricing Calculator 為準。這個試算不計作業(operation)費與網路傳出費。

一、輸入

整段期間放在這個值區的資料總量
假設每月的讀取都落在這一批熱門物件上,它們一直留在 Standard
示意單價(點)儲存 GB・月擷取 GB最短天數存取

二、整段保存期間的總成本(示意)

儲存費 = 資料量 × 儲存單價 × 保存天數 ÷ 30
提早刪除費 = 資料量 × 儲存單價 × max(0, 最短天數 − 保存天數) ÷ 30
擷取費 = 每月讀取 GB × 擷取單價 × 保存天數 ÷ 30
Autoclass = 熱門資料一直在 Standard + 其餘資料依 30/90/365 天轉換的儲存費 + 管理費(每 1,000 個物件每 30 天 1.25 點,小於 128 KiB 的物件不計也不轉換)
儲存費提早刪除費擷取費(Autoclass 為管理費)
挑戰:在這個情境的預設數字下,哪一個選項的總成本最低?
挑戰猜中 0 / 0
畫面說明:載入中。

最短儲存期(Nearline 30 天、Coldline 90 天、Archive 365 天)、「提早刪除、覆寫或搬移時以最短儲存期計費」、Autoclass 的轉換門檻(30 天未讀轉 Nearline;終點設 Archive 時 90 天轉 Coldline、365 天轉 Archive;讀取後回到 Standard;小於 128 KiB 的物件不轉換)、Autoclass 不收擷取費與提早刪除費但收管理費,依 Cloud Storage 文件「Storage classes」「Autoclass」與定價頁說明,查證時間 2026 年 10 月。Autoclass 另有啟用時對既有物件的一次性費用,本試算假設是新值區、沒有既有物件。示意單價為本頁自訂比例,不代表任何位置的實際價格。

🎮 互動實驗室二:位置類型故障模擬與資料保護時間軸

上半部模擬「放在哪裡」:先選位置類型(雙區域可以加開 Turbo replication),再選「物件在故障前多久寫入」,然後觸發「一個可用區故障」或「整個區域故障」。開著「先猜再看」時,會先請你回答一個是非題,答完才公布四格結果:值區還能不能讀寫、剛寫入的物件讀不讀得到、應用程式要不要改路徑、這種位置的複寫目標是多少。下半部模擬「刪了能不能救」:切換物件版本管理、軟刪除保留期與保留政策,用按鈕上傳、覆寫、刪除、快轉時間與還原,六個任務會在你做到時自動打勾。

A. 位置類型與故障

值區的資料放在哪裡

先選一種位置類型,再觸發一個故障。
猜對 0 / 0
畫面說明:載入中。
B. 資料保護時間軸:軟刪除、物件版本管理、保留政策與 Bucket Lock

值區的資料保護設定

第 0 天

保留政策(retention policy)

鎖定後無法復原:只能延長保留期,不能縮短或移除。
還沒有任何操作。先按「上傳/覆寫」放一個檔案進去。
畫面說明:載入中。

行為依 Cloud Storage 文件「Availability and durability」「Bucket locations」「Soft delete」「Object Versioning」「Retention policies and Bucket Lock」,查證時間 2026 年 10 月:跨區域複寫預設目標是新寫入物件 99.9% 在 1 小時內、100% 在 12 小時內,Turbo replication 是 15 分鐘內(RPO 15 分鐘,只限雙區域);區域故障時雙區域與多區域值區自動改由可用的區域提供資料,尚未複寫完成的物件要等故障區域恢復才讀得到。軟刪除預設 7 天,可設 7~90 天或 0 關閉;保留政策期限內刪除或取代物件會回應 403 retentionPolicyNotMet。世代編號(generation)為示意。

🛠️ 操作教學:建立值區並設定生命週期規則

不用登入 Google Cloud,也能先把流程走一遍。左邊是簡化的雲端控制台,照步驟填表、按按鈕;右邊同步顯示等效的 gcloud CLI 與 Terraform,黃色底的那幾行就是目前這一步對應的指令。可以故意把值區名稱打錯、把軟刪除天數填成 3,或在開了 Autoclass 的值區加「變更儲存空間級別」規則,看驗證訊息怎麼說明;也可以改名稱、位置或級別,看指令怎麼跟著變。生命週期規則的 JSON 在「lifecycle.json」分頁。

示意畫面:簡化重繪,只保留和本主題有關的欄位;實際畫面以 Google Cloud 控制台為準。
雲端控制台專案搜尋資源、文件、產品
同一件事的三種做法:控制台、gcloud CLI、Terraform 最後都呼叫同一組 Cloud Storage JSON API(建立值區、修改值區中繼資料、上傳物件),由 IAM 檢查權限後執行,所以結果相同。控制台適合第一次建立、想看每個欄位說明的時候;gcloud 適合寫成腳本,或在 Cloud Shell 裡快速調整單一設定,例如只換生命週期規則;Terraform 把值區與所有設定寫成一份可版本控管的設定檔,適合正式環境與多個環境重複部署,一個 google_storage_bucket 資源就包含位置、級別、存取控制、資料保護與生命週期。要特別注意:terraform destroy 會刪除它建立的資源;值區裡還有物件時,除非設了 force_destroy = true,否則刪除會失敗,鎖定保留政策的值區更要等所有物件滿保留期才刪得掉。不想自己準備 Terraform 執行環境,可以用 Google 託管的 Infrastructure Manager;舊的 Deployment Manager 已在 2026 年 3 月底結束支援,新設計不要再用。

自己動手時要注意

權限方面,建立與設定值區需要專案上的 Storage Admin(roles/storage.admin)這類角色;只上傳物件用 Storage Object Creator 或 Storage Object User 就夠,平常讀取用 Storage Object Viewer,依最小權限原則分開授予。Cloud Storage API 在新專案通常已預設啟用,沒有的話用 gcloud services enable storage.googleapis.com 啟用;用 Terraform 時,執行者(使用者憑證或透過 Workload Identity Federation 取得的身分)也要有相同權限。

費用方面,Cloud Storage 依儲存量、作業次數、擷取量、網路傳出與跨區域複寫計費;軟刪除與非現行版本都照常收儲存費,Nearline、Coldline、Archive 還有最短儲存期。Free Tier 每月有 5 GB-月的 Standard 儲存,但只限美國的部分區域(查證日期 2026-10-08),選台灣的 asia-east1 練習就會計費;新帳戶的 Free Trial 有 300 美元抵用金、期限 90 天。練習完記得清理:開了軟刪除的值區,刪掉後在保留期內仍可還原、也仍計費,練習用的值區可以先把軟刪除設成 0 再刪;鎖定了保留政策的值區要等物件滿保留期才能刪除,練習時不要真的按鎖定。

# 刪除值區內所有物件與版本,再刪除值區本身
gcloud storage rm --recursive gs://qingsong-logs-2026/

# 值區已經是空的,也可以直接刪除
gcloud storage buckets delete gs://qingsong-logs-2026

# 用 Terraform 建立的
terraform destroy

# 最乾淨的做法:刪除整個練習專案(專案內所有資源一起停用並排入刪除)
gcloud projects delete my-project-id

範例裡的名稱都是示意。不要把服務帳戶金鑰檔下載到電腦或寫進腳本;在自己的電腦上用 gcloud auth login 與 gcloud auth application-default login 取得使用者憑證,在 CI/CD 或其他雲端用 Workload Identity Federation。專案 ID 一律用 my-project-id 或 PROJECT_ID 這類佔位字。

☁️ 對照 AWS 與 Azure 的做法:AWS 的 S3 儲存貯體只屬於一個區域,資料預設跨至少 3 個可用區域;S3 Glacier Flexible Retrieval 與 Deep Archive 要先「還原」才能讀,跨區域則要另外設定 S3 複寫。對照閱讀:S3 儲存類別、生命週期與版本控制互動教學。Azure 要先建立「儲存體帳戶」,備援(LRS、ZRS、GRS、GZRS)設在帳戶層級,存取層(Hot、Cool、Cold、Archive)設在 blob 上,Archive 層要先解除凍結(rehydrate)才能讀。對照閱讀:Azure 儲存體備援與 Blob 存取層互動教學。Cloud Storage 則是一個值區直接選位置類型,四個級別都毫秒可讀。

📘 原理補完

四種儲存空間級別的正式定義

儲存空間級別可以設在值區(當作新物件的預設值)或個別物件上,同一個值區裡可以混放。判斷時問三個問題:多久讀一次?要保存多久?資料放在哪一種位置?下表依 Cloud Storage 文件與 SLA 頁整理(查證時間 2026 年 10 月)。四個級別的設計年耐久度都是 99.999999999%,存取延遲都是毫秒級,差別在價格結構與可用性 SLA。

級別最短儲存期擷取費存取SLA:多區域/雙區域SLA:區域適合
Standard無無毫秒99.95%99.9%常讀的資料、網站內容、運算中的暫存資料、短期保存
Nearline30 天有毫秒99.9%99.0%大約一個月讀一次以內,例如備份、長尾內容
Coldline90 天有(較高)毫秒99.9%99.0%大約一季讀一次以內,例如災難復原副本
Archive365 天有(最高)毫秒99.9%99.0%一年讀不到一次的長期保存、法規封存

SLA 數字是一般區域的值;Mexico 與 Stockholm 區域的部分項目較低。另有兩類不在比較範圍:Rapid 級別只用在位置是單一可用區的 Rapid Bucket,給 AI 與分析的高效能讀取(SLA 99.9%);Multi-Regional、Regional、Durable Reduced Availability 是舊制級別,控制台已無法設定,官方建議改用 Standard。

存取模式能預測嗎? Autoclass 要保存 30 天以上嗎? Standard 多久讀一次? Standard每月讀很多次 Nearline約每月一次 Coldline約每季一次 Archive一年不到一次 不能能 否是
這是決定「大方向」的流程。最後還要用實際的讀取量試算一次:讀取量一高,擷取費很快就會吃掉冷級別省下的儲存費,實驗室一的「出貨單據」就是 Nearline 與 Coldline 的分界例子。四個級別都毫秒可讀,所以「讀的時候能不能等」不是 Cloud Storage 選級別的判斷條件。

提早刪除費:最短儲存期怎麼算

最短儲存期不是鎖定期。物件放在 Nearline、Coldline 或 Archive,隨時都能刪除、取代或搬走,只是在那個時間點會被當成「已經放滿最短儲存期」計費,多出來的部分走提早刪除的計費項目。容易忽略的是覆寫也算:同名物件重新上傳、或手動把物件改成其他級別(rewrite),都等於把原本的物件取代掉。兩個例外:生命週期規則換級別不收提早刪除費,而且物件在原級別待的時間會算進新級別的最短儲存期;Autoclass 值區裡的物件也不收。開了軟刪除時,提早刪除費在物件被軟刪除時計算,並依軟刪除保留期扣減;開了版本管理時,則是在非現行版本真正被刪除時才計算。

① 手動放進 Nearline,第 10 天刪除 實際儲存 10 天 補收到 30 天(提早刪除費) 第 0 天第 10 天刪除第 30 天 ② 生命週期:Standard → 第 30 天轉 Coldline → 第 100 天刪除 Standard Coldline(待 70 天) 第 0 天第 30 天第 100 天刪除 從建立算 100 天 ≥ 90 天 ✓ 不收 生命週期換級別本身不收提早刪除費,原級別待的時間也算數(示意)
長條長度依天數等比例畫出,費用高低只是示意。規則依 Cloud Storage 定價頁「Minimum storage duration and early deletion」與「Object Lifecycle Management」,查證時間 2026 年 10 月。這和 AWS S3 不同:S3 的生命週期連續轉換要讓物件在中間類別待滿最短天數。

物件生命週期管理:只往冷的方向走

生命週期設定(lifecycle configuration)掛在值區上,由多條規則組成。每條規則只有一個動作:Delete(刪除)、SetStorageClass(換級別)或 AbortIncompleteMultipartUpload(中止沒完成的分段上傳);條件可以組合,例如 age(從建立算起的天數)、createdBefore、isLive、numNewerVersions、daysSinceNoncurrentTime、matchesStorageClass、matchesPrefix、matchesSuffix,同一條規則的條件要全部符合才執行。換級別只能往冷的方向:Standard 可以換到 Nearline、Coldline、Archive;Nearline 可以換到 Coldline 或 Archive;Coldline 只能換到 Archive。Cloud Storage 不會檢查你寫的轉換是否合法,寫錯方向的規則會被接受,但永遠不會發生。設定變更最多要 24 小時才生效,執行也是非同步的;保留政策或物件保留留置還沒解除時,Delete 動作會等到可以刪的時候才執行。

Standard Nearline Coldline Archive 可以跳級,例如 Standard 直接到 Archive ✗ 規則不能往回轉;讀取後自動回到 Standard 是 Autoclass 才有的行為
箭頭方向就是生命週期允許的轉換,依 Cloud Storage 文件「Object Lifecycle Management」的轉換表,查證時間 2026 年 10 月。

Autoclass:依實際讀取自動換級別

Autoclass 在值區層級開啟。開啟後新物件一律從 Standard 開始,連續 30 天沒被讀取就轉到 Nearline,這是預設的終點級別;把終點設成 Archive 時,90 天沒讀轉 Coldline、365 天沒讀轉 Archive。物件資料一被讀取就移回 Standard(只讀或改中繼資料不算);小於 128 KiB 的物件永遠留在 Standard,也不計管理費。它不收擷取費與提早刪除費,代價是每 1,000 個物件的管理費,以及對既有物件的一次性啟用費用(包含把既有物件移回 Standard 的作業費、未滿最短儲存期的提早刪除費與擷取費)。Autoclass 不能和使用 SetStorageClass 或 matchesStorageClass 的生命週期規則並用,但可以搭配 Delete 規則清掉過期資料。存取模式可以預測(例如日誌 30 天後幾乎沒人看)就用生命週期規則,預測不了就用 Autoclass。

Standard Nearline Coldline Archive 30 天未讀90 天未讀365 天未讀 下方弧線:一被讀取就回到 Standard 虛線框:終點設為 Archive 才會用到 小於 128 KiB 的物件:一直留在 Standard、不計管理費
轉換門檻依 Cloud Storage 文件「Autoclass」,查證時間 2026 年 10 月。實驗室一的「使用者稿件」就是 Autoclass 最划算的情況:讀取集中在少數熱門物件,其餘自動變冷。

位置類型:比較與 RPO

位置類型例子撐得住跨區域複寫Standard SLA何時選
區域asia-east1(台灣)一個可用區故障無(也沒有複寫費)99.9%運算在同區域、要最低延遲與成本、資料要留在單一地點
雙區域ASIA1、NAM4、EUR4,或同一位置代碼內自選兩區整個區域故障非同步;可開 Turbo(15 分鐘)99.95%要指定兩個地點、要可預期的 RPO、高可用的分析資料
多區域ASIA、EU、US整個區域故障非同步;不能開 Turbo99.95%對大範圍使用者提供內容、不需要指定是哪個區域

RPO 是「出事時最多可能損失多少時間內的資料」。在 Cloud Storage,雙區域與多區域的「損失」其實是「暫時讀不到」:還沒複寫完成的物件仍在故障的區域裡,要等那個區域恢復;已複寫完成的物件則由另一個區域繼續提供,Google 自動處理切換,應用程式不必改值區名稱。預設複寫的 RPO 是 12 小時(多數物件 1 小時內完成);Turbo replication 的 RPO 是 15 分鐘,另有專屬的複寫時間 SLA,只能用在雙區域。位置在建立時決定,之後要搬家得用值區搬遷(需要 Storage Intelligence)或把資料複製到新值區。

預設複寫(雙區域、多區域) 1 小時內 99.9% 12 小時內 100%(RPO 12 小時) Turbo replication(只限雙區域) 15 分鐘內 100%(RPO 15 分鐘) 長條以 12 小時為全長、等比例畫出
數字依 Cloud Storage 文件「Availability and durability」與 SLA 頁,查證時間 2026 年 10 月。預設複寫的 12 小時是目標上限,多數物件會更快完成;需要「保證」短 RPO 才付費開 Turbo。

存取控制:統一值區層級存取與禁止公開存取

存取控制和級別、位置是同一次建立值區時要決定的設定。統一值區層級存取(uniform bucket-level access)停用物件 ACL、只用 IAM 授權,好稽核;開啟後 90 天內可以關回去,連續開滿 90 天就永久生效。精細(fine-grained)模式是 IAM 與物件 ACL 並用,可以針對單一物件授權,但官方提醒比較容易意外外洩。禁止公開存取(public access prevention)擋下授予 allUsers 與 allAuthenticatedUsers 的權限,也可以用機構政策替整個機構強制開啟。要給沒有 Google 帳戶的人臨時下載或上傳單一物件,用有時效的簽署網址(signed URL),而不是把值區設成公開。

禁止公開存取:擋下 allUsers、allAuthenticatedUsers 統一值區層級存取:只看 IAM Storage Object Viewer Storage Object Creator 值區 gs://qingsong-logs-2026 與物件 簽署網址 單一物件 有時效
角色名稱是 Cloud Storage 的預先定義 IAM 角色;依最小權限原則,讀取與上傳分開授予,不要直接給 Storage Admin。

資料保護:軟刪除、版本管理、保留政策與 Bucket Lock

功能防什麼預設與範圍能不能被關掉費用
軟刪除誤刪、惡意刪除、被覆寫;連值區被刪也能還原新值區預設 7 天,可設 7~90 天或 0 關閉可以改或關保留期間照收儲存費
物件版本管理想保留固定數量的舊版本預設關閉可以開關每個非現行版本都照原級別計費
保留政策保留期內任何人刪除或取代物件最長 100 年,回溯套用到既有物件未鎖定時可改、可移除物件要放滿保留期
Bucket Lock有人縮短或移除保留政策鎖定保留政策不能,只能延長保留期值區要等所有物件滿保留期才能刪

官方建議防誤刪優先用軟刪除,它涵蓋覆寫、刪除,還能救回整個被刪掉的值區(用 gcloud 或 API 還原時只還原空值區,物件要另外還原);需要保留多個舊版本時才開物件版本管理,兩者可以同時使用,記得用 numNewerVersions 或 daysSinceNoncurrentTime 的生命週期規則清理舊版本。Cloud Storage 的版本管理沒有 S3 那種「刪除標記」:刪除現行版本後它直接變成非現行版本,不帶世代編號讀取會失敗,還原方式是把非現行版本複製回同名物件。法規要求「寫入後不得竄改、保存 N 年」時用保留政策加 Bucket Lock;若要針對單一物件設定保留,另有物件保留鎖(Object Retention Lock)與事件型、暫時型的物件保留留置(hold)。

只開軟刪除再開版本管理加上保留政策再加 Bucket Lock 現行 軟刪除 7 天(可還原) 永久消失 現行 非現行版本(直到被清理) 再進軟刪除 保留期內:刪除、覆寫都 403 期滿後才能刪(再進軟刪除) 保留政策本身鎖死:只能延長、不能縮短或移除(無法復原) 實驗室二的 B 部分可以把這四種情況各走一遍
每一列是同一個物件在不同保護組合下被刪除時的走向。行為依 Cloud Storage 文件「Soft delete」「Object Versioning」「Retention policies and Bucket Lock」,查證時間 2026 年 10 月。

判斷步驟

  1. 先決定位置:資料要留在哪裡、運算在哪個區域、要不要撐過整個區域故障。單一區域選區域型;要指定兩地並掌握 RPO 選雙區域(需要 15 分鐘 RPO 再開 Turbo);對大範圍使用者提供內容選多區域。
  2. 再看保存天數:短於 30 天的資料留在 Standard,冷的級別會被提早刪除費吃掉。
  3. 依讀取頻率選級別:每月讀很多次 Standard、約每月一次 Nearline、約每季一次 Coldline、一年不到一次 Archive;邊界情況用實際讀取量試算。
  4. 存取模式說不準、物件又大於 128 KiB,開 Autoclass;說得準就用生命週期規則寫下「幾天後換、幾天後刪」。
  5. 存取控制:統一值區層級存取+禁止公開存取,依最小權限授予 IAM 角色,對外分享用簽署網址。
  6. 資料保護:保持軟刪除;要留舊版本再開版本管理並加清理規則;法規不可竄改用保留政策+Bucket Lock。

容易考錯的地方

冷級別讀取要等:這是 AWS Glacier Flexible Retrieval、Deep Archive 與 Azure Archive 層的行為。Cloud Storage 的 Archive 也是毫秒存取,題目寫「一年讀一兩次、但讀時要立即取得」仍可以選 Archive,差別只在擷取費。

最短儲存期等於鎖定期:不是。物件隨時能刪,只是補收剩餘天數;真正讓物件刪不掉的是保留政策與保留留置。題目寫「資料只保存 7 天」,放 Nearline 反而更貴。

要跨區域就得設複寫:在 Cloud Storage,直接建立雙區域或多區域值區就有跨區域備援,不需要另設複寫規則;這是和 S3 跨區域複寫最大的不同。干擾選項常寫「建立兩個區域型值區並用 Storage Transfer Service 同步」,在需要自動切換的情境下不是最佳解。

多區域可以開 Turbo replication:不行,Turbo 只限雙區域。題目要求「可預期的 15 分鐘 RPO」時答案是雙區域加 Turbo。

Autoclass 和換級別規則可以一起用:不行。Autoclass 不能和 SetStorageClass 或 matchesStorageClass 規則並用,但可以搭配 Delete 規則;Autoclass 也不會幫你刪除過期資料。

生命週期能把資料搬回 Standard:不行,只能往冷的方向;讀取後自動回 Standard 是 Autoclass 的行為。

版本管理是最好的防誤刪:官方建議優先用軟刪除,它還能救回被刪除的值區;版本管理用在需要保留多個舊版本的情況,而且要配清理規則。

Bucket Lock 可以事後取消:不行,鎖定無法復原,保留期只能延長;保留期未滿的物件讓整個值區也刪不掉。

相關考試:Cloud Storage 儲存空間級別是 Cloud Digital Leader(CDL)資料管理產品、Associate Cloud Engineer(ACE)儲存與資料規劃的考點;ACE 另涵蓋 Cloud Storage 物件生命週期與成本估算,Associate Data Practitioner(ADP)與 Professional Data Engineer(PDE)的 exam guide 也點名 Cloud Storage。查證時間 2026 年 10 月。

✅ 自我檢測

6 題原創題,選完立即顯示對錯與解析,全部作答後會出現總分。目前得分:0 / 6