不少人都有使用S3 的經驗, 但無論個人或者企業, 除非不用考慮$$ 的問題, 否則盡可能把錢花在必要之處是一定會需要注意的項目.
有時候我們會把EBS內的某些資料(or 臨時開立的EC2 主機中臨時產生卻需要留下的資料)留在S3 中, 或甚至把CDN Log 也放在裡面, 確保資料可用.
但, 留在S3中的資料, 有時我們不想保留那麼久....
如果是在UNIX 環境, 許多老一點的人大概都用過類似的command.
ex: find /var/log/nginx -mtime +30 -exec rm -f {};
為了刪除s3的檔案, 理論上我們也可以用類似的做法, 只要
a. 以s3fs 之類的程式掛載s3 到主機上
b. 以crontab 執行類似的command
c. 等, 然後期望在下次crontab起來前能跑完, 不要出包
溫馨提示: s3 的速度一般來說不怎麼快, 傳輸不快是一回事, 小檔案的操作更是不快.
上述方法理論可行, 實際上建議別這麼幹, 真心不騙.
這邊分享另一個作法.
簡單的步驟是:
1. 找到該s3 bucket
2. 設定 'expiration' 的天數
3. 收工(驚)
就跟菲姐做菜一樣, 就是這麼簡單.
其中步驟2.
選到對應的bucket 後, 點選 [management] 這個tab.
[選擇] lifecycle.
[選擇] add new rule
[填寫] 你想要設定的rule name
[填寫] 檔案的到期日(檔案create 後幾天會刪除
[填寫] 上傳檔案如果不完整, 幾天後要刪除
到下一頁再看一眼, 存檔, 建立規則.
簡單吧?
後記: 2017.12.20 凌晨00:38 分, 我也開始進行實驗. 第一次增加了rule.
為了測試效果, 我先將expiration period 改為 1day, 後續再來update 實際測試結果.
2017.12.21 紀錄:
2017.12.26 update.
忙了好幾天沒時間看S3, 今天一看, 檔案怎麼都還在, 照參考文件[3] 的修改方法又調整了一次, 讓我們來試試看吧.
2017.12.28 update.
搞了半天是prefix 輸入錯了, 然後, 當啷~ 成功了 :D
參考文章:
1. http://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html
2. http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html
3. https://aws.amazon.com/tw/blogs/aws/amazon-s3-object-expiration/
Subscribe to:
Post Comments (Atom)








No comments:
Post a Comment