管理複寫 - Amazon S3 on Outposts

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

管理複寫

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

使用複寫指標監控進度

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

啟用複寫指標時,S3 Replication on Outposts 會將下列指標發佈至 Amazon CloudWatch:

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

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

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

注意

S3 Replication on Outposts 指標的計費費率與 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 可以通知您。如需詳細資訊,請參閱在 Outpost 上使用 EventBridge 進行 S3 複寫