針對 Amazon S3 生命週期問題進行疑難排解 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

針對 Amazon S3 生命週期問題進行疑難排解

以下資訊有助於針對 Amazon S3 生命週期規則的常見問題進行疑難排解。

我在儲存貯體上執行了清單操作,並看到以為已逾期或由生命週期規則轉換的物件。

S3 生命週期物件轉換物件逾期為非同步操作。因此,在物件符合過期或轉移資格的時間與其實際轉換或過期的時間之間,可能會有延遲。只要滿足生命週期規則,就會套用計費,即使動作尚未完成也是一樣。此行為的例外狀況為,如果您擁有轉換至 S3 Intelligent-Tiering 儲存類別的生命週期規則集。在此情況下,直到物件轉換至 S3 Intelligent-Tiering 儲存類別後,才會發生計費變更。如需計費中變更的詳細資訊,請參閱在儲存貯體上設定生命週期組態

注意

Amazon S3 不會將小於 128 KB 的物件從「S3 標準」或「S3 標準 - IA」儲存體類別轉換為「S3 智慧型分層」、「S3 標準 - IA」或「S3 單區域 - IA」儲存體類別。

如何監控生命週期規則的進度,以確認其作用中?

若要檢視任何作用中生命週期規則的進度 (或監控所做的變更),請使用 Storage Lens 儀表板。使用儀表板,您可以檢視下列指標,這些指標會監控物件計數或大小。

  • 目前版本位元組

  • 目前版本物件計數

  • 非目前版本位元組

  • 非目前版本物件計數

  • 刪除標記物件計數

  • 刪除標記儲存體位元組

  • 未完成分段上傳位元組

  • 未完成分段上傳物件計數

您也可以使用下列功能來監控生命週期規則:

  • Amazon S3 清查 - 您可以使用「S3 清查」產生 Amazon S3 儲存貯體的字首或物件清單 (以 CSV表示)、Apache 最佳化行列式 (ORC) 或 Apache Parquet 格式,以供稽核之用。根據您的使用案例,您也可以使用 Amazon Athena 以標準 SQL 查詢「S3 清查」。

  • S3 事件通知 - 您可以設定事件通知,以便將任何生命週期過期或轉換事件通知您。

  • S3 伺服器存取日誌 - 您可以啟用 S3 儲存貯體的伺服器存取日誌,以擷取生命週期相關的動作,例如物件轉換到另一個儲存體類別和物件過期。如需詳細資訊,請參閱生命週期和記錄

即使在啟用版本控制的儲存貯體上設定生命週期規則之後,我的 S3 物件計數仍會增加。

啟用版本控制的儲存貯體中將物件設定為過期時,物件不會從儲存貯體中完全刪除。相反地,建立刪除標記作為物件的最新版本。刪除標記仍會計為物件。因此,如果建立生命週期規則,僅使目前版本過期,則 S3 儲存貯體中的物件計數實際上會增加,而不是下降。

例如,假設 S3 儲存貯體已啟用 100 個物件的版本控制,而生命週期規則設定為使物件的目前版本在 7 天後過期。第七天之後,物件計數會增加到 200,因為除了 100 個原始物件 (現在為非目前版本) 之外,還建立了 100 個刪除標記。如需啟用版本控制的儲存貯體之「S3 生命週期」組態規則動作的詳細資訊,請參閱在儲存貯體上設定生命週期組態

若要永久移除物件,請新增其他生命週期組態,以刪除先前版本的物件、過期的刪除標記,以及未完成的分段上傳。如需如何建立新生命週期規則的指示,請參閱在儲存貯體上設定生命週期組態

注意
  • Amazon S3 會將物件的轉換或過期日期四捨五入到隔天的午夜 UTC。如需詳細資訊,請參閱生命週期規則:依據物件的存在時間

  • 對於受「物件鎖定」保護的 S3 物件,不會永久刪除目前的版本。相反地,會將刪除標記新增至物件,使其成為非目前版本。然後會保留非目前版本,且永久不會過期。

如何使用生命週期規則清空 S3 儲存貯體?

S3 生命週期規則是清空 S3 儲存貯體與其數百萬個物件的有效工具。若要從 S3 儲存貯體刪除大量物件,請務必使用以下四對生命週期規則:

  • 使物件的目前版本到期永久刪除物件的先前版本

  • 刪除過期的刪除標記刪除未完成的分段上傳

如需如何建立生命週期組態規則的步驟,請參閱在儲存貯體上設定生命週期組態

注意

對於受「物件鎖定」保護的 S3 物件,不會永久刪除目前的版本。相反地,會將刪除標記新增至物件,使其成為非目前版本。然後會保留非目前版本,且永久不會過期。

將物件轉換為成本較低的儲存體類別之後,我的 Amazon S3 計費增加了。

有數個原因,在將物件轉換為成本較低的儲存體類別之後,您的帳單可能會增加:

  • 小型物件的 S3 Glacier 額外費用

    對於轉換為 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 的每個物件,總共有額外的 40 KB 與此儲存體更新相關聯。作為額外 40 KB 的一部分,8 KB 用來存放中繼資料和物件的名稱。此 8 KB 是根據「S3 標準」費率收費。剩餘的 32 KB 用於索引編製和相關中繼資料。此 32 KB 是根據 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 定價收費。

    因此,如果您要儲存許多小型物件,我們不建議使用生命週期轉換。相反地,若要降低任何額外費用,請將多個小型物件彙總為少量的大型物件,然後再將它們存放在 Amazon S3 中。如需成本考量的詳細資訊,請參閱轉換為 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 儲存體類別 (物件封存)

  • 最低儲存費用

    某些 S3 儲存體類別有最短儲存持續時間需求。在滿足最短持續時間之前,從這些類別中刪除、覆寫或轉換的物件,會被收取按比例分配的提前轉換或刪除費用。這些最短儲存持續時間需求如下:

    • S3 標準 - IA 和 S3 單區域 - IA - 30 天

    • S3 Glacier Flexible Retrieval 和 S3 Glacier Instant Retrieval - 90 天

    • S3 Glacier Deep Archive - 180 天

    如需這些需求的詳細資訊,請參閱使用 S3 生命週期轉移物件限制一節。如需一般 S3 定價資訊,請參閱 Amazon S3 定價AWS 定價計算機

  • 生命週期轉換成本

    每次透過生命週期規則將物件轉換為不同的儲存體類別時,Amazon S3 就會將該轉換計為一個轉換請求。這些轉換請求的成本不包括在這些儲存體類別的成本。如果打算轉換大量物件,建議在轉換為較低成本方案時將請求成本納入考慮。如需詳細資訊,請參閱 Simple Storage Service (Amazon S3) 定價

我已更新儲存貯體政策,但我的 S3 物件仍被過期的生命週期規則刪除。

儲存貯體政策中的 Deny 陳述式不會防止生命週期規則中定義的物件過期。生命週期動作 (例如轉換或過期) 不會使用 S3 DeleteObject 操作。相反地,使用內部 S3 端點來執行「S3 生命週期」動作。(如需詳細資訊,請參閱生命週期和記錄。)

若要防止生命週期規則採取任何動作,您必須編輯、刪除或停用規則

是否可以復原「S3 生命週期」規則使其過期的 S3 物件?

若要復原由「S3 生命週期」使其過期的物件,唯一方法就是透過版本控制,而在物件符合過期資格之前,版本控制必須已就位。您無法復原生命週期規則所執行的過期操作。如果物件是由既定的「S3 生命週期」規則永久刪除,則無法復原這些物件。若要在儲存貯體上啟用版本控制,請參閱 在 S3 儲存貯體中使用版本控制

如果您已將版本控制套用至儲存貯體,且物件的非目前版本仍保持完整不變,則可以還原過期物件的先前版本。如需「S3 生命週期」規則動作之行為和版本控制狀態的詳細資訊,請參閱描述生命週期動作的元素中的生命週期動作和儲存貯體版本控制狀態表格。

注意

如果 S3 儲存貯體受 AWS BackupS3 複寫保護,您也可以使用這些功能來復原過期的物件。