S3-生命週期
前言
Amazon Simple Storage Service (Amazon S3) 是一個提供您儲存物件的服務。 透過 s3, 您可以確保您儲存的物件在擁有領先業界級的高擴展性、 高資料可用性、及高安全性的同時,還能擁有高效能的表現。
S3 生命週期可以幫助您更方便的管理物件。透過更換儲存體方案的方法,您可將您儲存物件的成本控制到最低。 在您設定生命週期時,您可以根據使用情形,決定儲存體的物件將在多久後轉換為另一儲存體方案,以及要花多少時間將其移除。
儲存體方案
在使用 S3 儲存時,您可以使用 S3 STANDARD、S3 REDUCED_REDUNDANCY(S3 RRS)、S3 STANDARD Infrequently Accessed (S3 STANDARD_IA)、S3 ONEZONE Infrequently Accessed (S3 ONEZONE_IA)、S3 GLACIER、以及S3 INTELLIGENT_TIERING 共6種方案。
-
S3 STANDARD:S3 標準型儲存方案 是預設的儲存體方案, 主要用來存放經常存取的資料。
-
S3 REDUCED_REDUNDANCY(S3 RRS): 低冗餘儲存儲存方案是用來存放經常存取且非關鍵、可重現的資料。使用這項方案時,將能擁有比標準型儲存方案還要更低的延遲性。
我們建議您不要使用這種方案,因為這種方案的儲存成本比標準型儲存方案高出許多。
-
S3 Infrequently Accessed (S3 IA): S3 IA 是用來存放需要長期保存且不常存取的資料。它擁有比標準型儲存方案還要更低的儲存價格。但相對的,它呼叫物件的請求價格就會比較高。而其根據儲存的可用區域(AZ)的數量,又分為下列2種:
- S3 STANDARD Infrequently Accessed (S3 STANDARD_IA):標準型 IA 將物件存入多個不同的可用區域(AZ),以確保能夠擁有較高的可用性。
- S3 ONEZONE Infrequently Accessed (S3 ONEZONE_IA): 單區域型 IA 只將您的物件存入同一可用區域(AZ)。 由於它也是複數存放,使其能保有與標準型 IA 相同的耐用性。但因其將物件存入相同可用區域內,導致它可用性及彈性較差,也因此使它比單區域型 IA來得更加便宜。
而2種方案的取捨,我們建議您根據下列作法做出選擇:
-
標準型 (IA) — 用於您的主要資料或無法重建之資料的唯一複本。
-
單區域型 (IA) — 如果可用區域失敗時您可以重建資料,請使用此方案,也可在設定跨區域複寫 (CRR) 時用於物件複寫。
-
S3 Glacier: 此種儲存體方案主要用來儲存被封存的檔案(也代表著存取的機會最低)。使用此種方案時,能夠有著與標準型儲存方案相同的耐用性及彈性。它在所有方案的儲存價格當中是最便宜的,但相對的代價就是,它需要花上相當長的時間來存取資料(甚至可能要花上數小時的時間)。
-
S3 INTELLIGENT_TIERING: 智慧分層儲存體方案旨在透過自動將資料移動到最具成本效益的儲存體存取層,將儲存成本最佳化,且不會影響效能或帶來額外負荷。其擁有自己的轉換規則,它會將連續 30 天內沒有存取的物件移動到不常存取層。如果物件在不常存取層受到存取,它會自動將物件移回經常存取層。
轉移方案
透過生命週期,您可以將以下的規則套用至儲存體(或儲存體中特定的字首(prefix)、標籤(tag))當中。
- 將 S3 標準型儲存方案 在數天後轉移為 S3 標準型 (IA) / S3 智慧分層儲存體方案 / S3 單區域型 (IA) / S3 Glacier。
-
將 S3 標準型 (IA) 在數天後轉移為 S3 智慧分層儲存體方案 / S3 單區域型 (IA) / S3 Glacier 。
-
將 S3 智慧分層儲存體方案 在數天後轉移為 S3 單區域型 (IA) / S3 Glacier。
-
將 S3 單區域型 (IA) 在數天後轉移為 S3 Glacier。
將物件過期
您還可以設定要在多久後,使您的物件過期,以進一步的進行刪除。
情境
您可以為您的物件,定義生命週期規則:
-
如果您將定期日誌上傳至儲存體,您的應用程式可能需要使用它們一週或一個月。之後,您可能會想自動刪除它們。
-
某些文件在一段有限的期間內會經常受到存取。而在該期間之後,存取它們的頻率很低。在某些時候,您可能不需要即時存取它們,但您的組織或法規可能要求您將其封存一段特定時間。之後,才能夠刪除它們。
-
您可能會將某些類型的資料上傳到 Amazon S3,主要目的為檔案用。例如,您可以使用它來封存數位媒體、財務及醫療保健記錄、原始基因序列資料、長期資料庫備份,以及為遵守法規而所必須保留的資料。
當以上幾種狀況符合您的需求時,您就可以設定生命週期,來自動化管理檔案。
使用環境
- 需先在 S3 當中,有著能夠操作的儲存體。
建置過程
- 開啟您儲存體的主控台,選取 管理(Management) 您將可以在此處設置您的生命週期規則。
名稱和範圍
-
新增 生命週期規則,如果您希望這項規則只影響到儲存體內的某些物件的話,在篩選條件欄位中加上它們的字首或標籤。
轉移階段
- 您可將不同的生命週期規則分別套用至目前版本及舊版本的物件上。
您必須先啟動儲存體的版本控管來管理不同版本的物件 (先前版本的生命週期對沒有啟動版本控管的物件不會產生任何結果。)
-
針對目前版本的生命週期規則是依據物件建立後天數生效,而針對先前版本的生命週期規則,則是依據物件變成非目前版本的天數生效。
-
S3 標準型儲存方案的物件,最少需要30天才能轉換成標準型 (IA)或單區域型 (IA);而S3 IA 物件 ,也是最少需要30天的儲存時間,才能轉換為Glacier。
過期階段
- 過期物件動作則可以分為過期目前版本及永久刪除舊版本。上述2者生效所需的最短時間,皆須大於您在轉移階段設定的天數。
可以理解成,等到移轉到最後一個儲存體類別過1天後,才可以進行過期或刪除。
- 沒有啟動版本控管的儲存體,只能套用使物件的目前版本過期的規則(另一規則對非版本控管物件沒有影響。)
過期物件的目前版本
-
對於非版本控管的物件來說,過期物件的目前版本將會直接刪除該物件。
-
對於啟用版本控管的儲存體:
- 如果物件的目前版本不是刪除標記(delete marker),此一動作會新增一個有獨特版本ID的刪除標記。然後會將目前版本的檔案改成舊版本,並將刪除標記當成目前版本。
- 如果您的儲存體中,刪除標記是目前的版本,而且儲存體中還有1個或更多的舊版本,則 Amazon S3 不會做出任何動作。
- 如果目前版本是物件唯一的版本,而且它是一個刪除標記的話,Amazon S3 會將該刪除標記移除。
-
在暫停版本控制的儲存貯體中,過期動作會指示 Amazon S3 建立刪除標記,並以 null 做為版本 ID。此刪除標記會以 null 版本 ID 取代版本階層中所有的物件版本。這是刪除物件最有效的方法。
永久刪除先前版本
- 您可以設定當您的物件變為非目前版本後,要持續保留多久的時間,再將您的物件永久刪除。
注意!遭到永久刪除的物件將無法再還原。
其他的設定
儲了轉移以及過期2項規則以外,我們還可以透過下方的2個參數來中止分段上傳的物件以及清除掉刪除標記。
如果您在最一開始的篩選器,已經有指定物件標籤的話,您將無法進行這2個動作的設定。
- 清理過期物件刪除標記:在您有啟動版本控管的儲存體中,如果有一個物件有刪除標記,且沒有任何舊版本時,我們會稱該標記為過期物件刪除標記。當您勾選並啟動了這項功能時,Amazon S3 便會收到指示,刪除掉過期物件刪除標記。以增進您使用 LIST 操作時的表現。
如果您在上方有啟動組態過期>目前版本的話,它將自動涵蓋這項功能,因此您將不能再勾選這個選項。
-
清理未完成的分段上傳: 啟用此選項可設定分段上傳持續執行的時間上限 (天)。若適用的分段上傳 (由生命週期規則中指定的金鑰名稱 prefix 決定)未在預先定義的時段內成功完成,Amazon S3 會中止未完成的分段上傳。
測試
在經過您設定的時間之後,您將看到您的物件已經依照您訂的規則,移至對應的儲存體方案中了。
在我的範例裡,我將生命週期規則定為上傳1天後即移至 Glacier 中:
這是我在3/20日之後觀察得到的結果 (我在3/19之後就沒再更動過該物件),您可以看到物件儲存類別現在已變為 Glacier:
結論
以上的內容就是新增 S3 生命週期的方法。就像我們開頭時說過的,在您設定完規則之後,生命週期可以自動幫您轉移儲存體的方案,協助您在使用 S3 時,避免手動操作的失誤,並能讓您享受到最優惠的儲存價格,管理也變得更加順利。