管理複寫 - Amazon Simple Storage Service

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

管理複寫

本節描述 S3 on Outposts 中可用的其他複寫組態選項、如何判斷複寫狀態,以及如何疑難排解複寫。如需核心複寫組態的資訊,請參閱 設定複寫

使用複寫指標監控進度

Outposts 上的 S3 複寫提供了複寫組態中複寫規則的詳細指標。透過追蹤擱置複寫的位元組、複寫延遲和作業擱置,您可以每 5 分鐘以複寫指標,監控複寫進度。您也可以設定 Amazon EventBridge 以接收複寫失敗通知,協助疑難排解任何組態問題。

啟用複寫指標後,Outposts 上的 S3 複寫會將下列指標發佈至 Amazon CloudWatch:

  • 擱置複寫的位元組 — 針對指定的複寫規則,擱置複寫的物件位元組總數。

  • 複寫延遲 — 針對指定的複寫規則,複寫目的地儲存貯體位於來源儲存貯體後方的秒數上限。

  • 擱置複寫的作業 – 針對指定的複寫規則,擱置複寫的作業數量。作業包含物件、刪除標記和標籤。

注意

Outposts 上的 S3 複寫指標的計費方式與 CloudWatch 自訂指標相同。如需詳細資訊,請參閱 CloudWatch 定價

取得複寫狀態資訊

複寫狀態可協助您判斷要由 Amazon S3 on Outposts 複寫之物件的目前狀態。來源物件的複寫狀態將會傳回 PENDINGCOMPLETEDFAILED。複本的複寫狀態將會傳回 REPLICA

複寫狀態概觀

在複寫中,您有一個來源儲存貯體,您可以在其上設定複寫與 S3 on Outposts 複寫物件的目的地儲存貯體。當您從這些儲存貯體請求物件 (使用 GetObject) 或物件中繼資料 (使用 HeadObject) 時,S3 on Outposts 會在回應中傳回 x-amz-replication-status 標頭,如下所示:

  • 當您從來源儲存貯體請求物件時,如果請求中的物件符合複寫資格,S3 on Outposts 即會傳回 x-amz-replication-status 標頭。

    例如,假設您在複寫組態中指定物件前綴 TaxDocs,告知 S3 on Outposts 複寫僅具有金鑰名稱前綴 TaxDocs 的物件。系統會複寫您上傳且具有此金鑰名稱前綴 (例如 TaxDocs/document1.pdf) 的任何物件。針對具有此金鑰名稱前綴的物件請求,S3 on Outposts 會傳回 x-amz-replication-status 標頭,以及代表物件複寫狀態的下列其中一個值:PENDINGCOMPLETEDFAILED

    注意

    若物件複寫在您上傳完物件後失敗,則您無法重試複寫。您必須再次上傳物件。對於缺少複寫角色許可或儲存貯體許可等問題,物件會轉換成 FAILED 狀態。對於暫時性錯誤,例如,如果儲存貯體或 Outpost 無法使用,複寫狀態不會轉換成 FAILED,但會保持 PENDING。資源恢復線上狀態後,S3 on Outposts 會繼續複寫這些物件。

  • 當您從目的地儲存貯體請求物件時,如果您請求中的物件是 S3 on Outposts 建立的複本,S3 on Outposts 會傳回值為 REPLICAx-amz-replication-status 標頭。

注意

在從已啟用複寫的來源儲存貯體中刪除物件之前,您應該先檢查物件的複寫狀態,確保已複寫物件。

啟用 Outposts 上的 Amazon S3 複本修改同步時的複寫狀態

當您的複寫規則啟用 S3 on Outposts 複本修改同步時,複本可以報告 REPLICA 以外的狀態。如果中繼資料變更正在複寫過程中,則複寫 x-amz-replication-status 標頭會傳回 PENDING。如果複本修改同步無法複寫中繼資料,則複寫標頭會傳回 FAILED。如果中繼資料正確複寫,複寫標頭會傳回值 REPLICA

故障排除複寫

在您設定複寫之後,如果物件複本未出現在目的地 Amazon S3 on Outposts 儲存貯體中,請使用這些故障診斷技巧以識別並修正問題。

  • S3 on Outposts 複寫物件所需的時間長短取決於幾個因素,包括來源和目的地 Outposts 的距離,以及物件的大小。

    您可以檢查來源物件的複寫狀態。如果物件複寫狀態為 PENDING,表示 S3 on Outposts 尚未完成複寫。如果物件複寫狀態為 FAILED,請檢查來源儲存貯體中所設的複寫組態。

  • 在來源儲存貯體中的複寫組態中,驗證下列項目:

    • 目的地儲存貯體的存取點 Amazon Resource Name (ARN) 正確。

    • 金鑰名稱前綴正確。例如,如果您設定組態來複寫具有前綴 Tax 的物件,則只會複寫具有 Tax/document1Tax/document2 等金鑰名稱的物件。不會複寫具有金鑰名稱 document3 的物件。

    • 狀態為 Enabled

  • 確認在任何儲存貯體上均沒有已暫停的版本控制。來源與目的地儲存貯體都必須啟用版本控制。

  • 如果目的地儲存貯體的擁有者是另一個 AWS 帳戶,請確認儲存貯體擁有者在目的地儲存貯體上有儲存貯體政策,以允許來源儲存貯體擁有者複寫物件。如需範例,請參閱 在來源與目的地 Outposts 儲存貯體分屬於不同 AWS 帳戶 時授予許可

  • 如果目的地儲存貯體中未出現物件複本,可能是下列問題阻礙了複寫作業:

    • 如果來源儲存貯體中的物件是由另一個複寫組態所建立的複本,則 S3 on Outposts 不會複寫該複本。例如,如果您將複寫組態從儲存貯體 A 設定到儲存貯體 B,再設定到儲存貯體 C,則 S3 on Outposts 不會將儲存貯體 B 中的物件複本複寫至儲存貯體 C。

      如果您想要將儲存貯體 A 的物件複製到儲存貯體 B 和儲存貯體 C,請在不同的複寫規則中,為來源儲存貯體複寫組態設定多個儲存貯體目的地。例如,在來源儲存貯體 A 上建立兩個複寫規則,其中一個規則可複寫到目的地儲存貯體 B,另一個規則複寫到目的地儲存貯體 C。

    • 來源儲存貯體擁有者可授予其他 AWS 帳戶 上傳物件的許可。根據預設,來源儲存貯體擁有者不具其他帳戶所建立之物件的任何許可。複寫組態只會複寫來源儲存貯體擁有者具備存取許可的物件。為了預防複寫問題發生,來源儲存貯體擁有者可以授予其他 AWS 帳戶 許可來有條件地建立物件,並要求這些物件的明確存取許可。如需政策範例,請參閱「授予跨帳戶許可,以在確保儲存貯體擁有者具有完全控制時上傳物件」。

  • 假設您在複寫組態中新增一個規則,以複寫含特定標籤的物件子集。在此情況下,您必須於建立物件時指派特定標籤金鑰與值,以便 S3 on Outposts 複寫物件。如果您先建立物件,之後才將標籤新增至現有物件,S3 on Outposts 就不會複寫該物件。

  • 如果儲存貯體政策拒絕存取下列任何動作的複寫角色,則複寫會失敗:

    來源儲存貯體:

    "s3-outposts:GetObjectVersionForReplication", "s3-outposts:GetObjectVersionTagging"

    目的地儲存貯體:

    "s3-outposts:ReplicateObject", "s3-outposts:ReplicateDelete", "s3-outposts:ReplicateTags"
  • 當物件未複寫至其目的地 Outposts 時,Amazon EventBridge 可以通知您。如需詳細資訊,請參閱「針對 Outposts 上的 S3 複寫使用 EventBridge」。