iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0

大家應該還記得上一篇我們講 S3 版本控管吧?對,就是那個「老闆說要能回溯誤刪檔案」的功能。結果一打開版本控管,你會發現 Bucket 瞬間變成垃圾桶附加回收桶,舊版本越堆越多,最後 AWS 帳單直接變成恐怖片現場。
這時候你就會聽到熟悉的聲音:「這個月又爆預算了。」
對不起啦老闆,真不是我亂花,這是 AWS 自動幫我花的。

生命週期設定:你的雲端斷捨離

既然要省錢,就得靠 S3 生命週期 (Lifecycle Rules) 這招。說白話就是幫你的檔案設定「自動收垃圾的 scheduler」,檔案放太久或版本太多就自動清掉。

有點像工程師桌面,檔案堆滿滿,結果老闆走過來問:「專案文件在哪?」你打開桌面才發現整個桌面就是專案文件。這時候如果有生命週期規則,早就自動把垃圾清光,不會變成「桌面驚魂記」。

生命週期的玩法大概就兩種:

  1. 用天數管:放超過 30 天直接掰掰。
  2. 用版本數管:只留最新 3 個,舊的滾去回收桶。

設定生命週期:五分鐘就能幫自己省錢

我們用一個範例來說明如何設定超過30天的物件檔案自動刪除。
以下將步驟奉上,簡單到像複製貼上別人 Stack Overflow 答案:

  1. 進 Bucket → 點 Management (管理)Create lifecycle rule
    https://ithelp.ithome.com.tw/upload/images/20250917/20141071j080r3bo8K.png
  2. 幫規則取名。(規則的名稱在 Bucket 內,名稱必須是唯一的。)
  3. 選範圍:
    • 懶人選 Apply to all objects(全桶都套用)。
    • 想裝專業可以用 Prefix/Tag 去限定資料夾或標籤。
      https://ithelp.ithome.com.tw/upload/images/20250917/20141071C2vzwh1fki.png
  4. 設定動作:
    • Permanently delete noncurrent versions(永久刪除物件的先前版本)。
    • Days after objects become noncurrent(物件變成非現行版本後的天數) → 30(天)
    • Number of newer versions to retain(要保留的較新版本數目) → 3 (輸入 3,保存三個版本)
      https://ithelp.ithome.com.tw/upload/images/20250917/20141071R6jt9xuSKd.png
  5. 最後按下右下角的 Create Rule 來完成設定。
    順利的設定完成之後就可以看到畫面上出現綠色的成功設定訊息,也可以在下方看到已經設定完成 rule 清單。
    https://ithelp.ithome.com.tw/upload/images/20250917/20141071elE0yKCAl9.png

規則衝突:誰先動手殺?

規則一多難免打架,簡單記:

  • 永久刪除 > 轉換 > 刪除標記
  • Glacier Flexible Retrieval > Standard-IA / One Zone-IA
    這邏輯有點像專案會議:
  • 老闆發話(永久刪除)→ 其他人閉嘴。
  • PM 說要轉換需求(轉換)→ 工程師雖然想刪掉,但還是得先改。
  • 工程師想標記 TODO(刪除標記)→ 抱歉啦,排最後。

總之開版本控管就像請健身教練:你以為是在保命,結果一不小心荷包先掛掉。
生命週期規則就是幫你控制健身課的課表,不然最後不是你練爆,而是帳單練爆。
所以各位工作室、SOHO、或是「老闆說錢要花在刀口上」的團隊,趕快去幫你的 S3 開個生命週期。不然月底對帳單的時候,揹到帳單爆表鍋的人,可然會是你!!!

參考資料:Amazon S3 使用者指南官方文件 - https://docs.aws.amazon.com/zh_tw/AmazonS3/latest/userguide/Welcome.html


上一篇
Day 6 - S3 版本控管功能設定
下一篇
Day 8 - ACM(AWS Certificate Manager)免費又好用的SSL憑證續命神器
系列文
最適合小型工作室精打細算的服務使用法12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言