本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理複寫
本節描述 S3 on Outposts 中可用的其他複寫組態選項、如何判斷複寫狀態,以及如何疑難排解複寫。如需核心複寫組態的資訊,請參閱 設定複寫。
使用複寫指標監控進度
Outposts 上的 S3 複寫提供了複寫組態中複寫規則的詳細指標。透過追蹤擱置複寫的位元組、複寫延遲和作業擱置,您可以每 5 分鐘以複寫指標,監控複寫進度。為了協助疑難排解任何組態問題,您也可以設定 Amazon EventBridge 接收複寫失敗的通知。
啟用複寫指標時,S3 Replication on Outposts 會將下列指標發佈至 Amazon CloudWatch:
-
擱置複寫的位元組 — 針對指定的複寫規則,擱置複寫的物件位元組總數。
-
複寫延遲 — 針對指定的複寫規則,複寫目的地儲存貯體位於來源儲存貯體後方的秒數上限。
-
擱置複寫的作業 – 針對指定的複寫規則,擱置複寫的作業數量。作業包含物件、刪除標記和標籤。
注意
S3 Replication on Outposts 指標的計費費率與 CloudWatch 自訂指標相同。如需詳細資訊,請參閱CloudWatch定價
取得複寫狀態資訊
複寫狀態可協助您判斷要由 Amazon S3 on Outposts 複寫之物件的目前狀態。來源物件的複寫狀態將會傳回 PENDING
、COMPLETED
或 FAILED
。複本的複寫狀態將會傳回 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
標頭,以及代表物件複寫狀態的下列其中一個值:PENDING
、COMPLETED
或FAILED
。注意
若物件複寫在您上傳完物件後失敗,則您無法重試複寫。您必須再次上傳物件。對於缺少複寫角色許可或儲存貯體許可等問題,物件會轉換成
FAILED
狀態。對於暫時性錯誤,例如,如果儲存貯體或 Outpost 無法使用,複寫狀態不會轉換成FAILED
,但會保持PENDING
。資源恢復線上狀態後,S3 on Outposts 會繼續複寫這些物件。 -
當您從目的地儲存貯體請求物件時,如果您請求中的物件是 S3 on Outposts 建立的複本,S3 on Outposts 會傳回值為
REPLICA
的x-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/document1
或Tax/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 複寫。