簡體   English   中英

從 S3 IA 中刪除 20 億個對象的最便宜方法

[英]Cheapest way to delete 2 billion objects from S3 IA

我在 S3(不經常訪問)中有一個包含 20 億個對象的存儲桶。 在控制台中或通過 api 刪除而無需花費數年時間,它太大了。

我可以創建一個生命周期規則來過期和刪除對象,但計算器預測這將花費我 > $20,000 那是對的嗎? 有沒有更好的方法來刪除存儲桶?

如果有幫助,我有一個文件有效地包含該存儲桶中所有對象的列表。

2021 年更新:

下面來自@MAP 的回答指出現在有一個“空”按鈕。 我還沒有測試過,但看起來像是要走的路(測試后我會接受這個答案):

空按鈕截圖

如果您有所有可用對象的列表,那么您當然可以使用多刪除對象操作。 顯然這個API 是免費的 我會創建AWS Step Functions 狀態機來遍歷文件並一次刪除 1000 個對象。 1000 似乎是極限。

刪除存儲桶中的所有對象大約需要 200 萬步函數事務。 根據 step 函數的定價,您將花費大約 50 美元 + 大約 1 美元的 Lambda 調用成本,因此總成本約為 51 美元。

更新

使用 Lambda 或 Step Functions 可能不是最具成本效益的選擇,因為這兩種方式都需要從某些源(如 S3)讀取文件(包含對象鍵)。 所以我認為從本地機器或任何 EC2 linux 屏幕運行腳本似乎是最好的選擇。

刪除操作是免費的。 您可以創建生命周期策略來自動執行批量刪除。

我會先從少量對象開始,然后檢查帳單報告以 100% 確認刪除不會收費,然后再進行其余的操作。

2021 年,任何遇到此問題的人都可能會受益於 AWS 控制台現在提供了一個按鈕。

選擇存儲桶並單擊“清空”按鈕,所有受版本控制或未受版本控制的對象都將被清空/刪除。 根據對象的數量,這可能需要幾分鍾到幾天的時間。

試試S3Browser

當刪除數千萬個對象時,它對我來說效果很好

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM