本文介紹資料複製(包括跨地區複製以及同地區複製)結合版本控制、生命週期、伺服器端加密、合規保留原則等特殊情境的複製行為。
資料複製結合版本控制
資料複製結合版本控制的使用情境中,有如下限制:
僅允許同時處於非版本控制或啟用版本控制狀態的兩個儲存空間(Bucket)開啟資料複製。處於資料同步狀態下的兩個Bucket不允許改變其版本控制狀態。
資料同步過程中不允許暫停源或目標Bucket的版本控制,如有需要,您可以先刪除資料複製規則再暫停版本控制。
從已開啟版本控制的源Bucket中刪除對象(Object)時,會出現以下幾種情況:
請求方式 | 資料同步策略 | 結果 |
發出Delete請求但未指定Object版本ID | 寫同步(增/改) | OSS將在源Bucket中建立刪除標記(Delete Marker),且源Bucket建立的刪除標記會同步到目標Bucket。 |
增/刪/改同步 | OSS將在源Bucket中建立刪除標記(Delete Marker),且源Bucket建立的刪除標記會同步到目標Bucket。 | |
發出Delete請求且指定了Object版本ID | 寫同步(增/改) | 源Bucket刪除的操作不會同步到目標Bucket。 |
增/刪/改同步 | 源Bucket刪除的操作將同步到目標Bucket。 |
資料複製結合生命週期
資料複製結合版本控制的使用情境,使得目標Bucket中存在Object的多個歷史版本,產生較多的儲存消耗。如果您希望減少目標Bucket由於資料複製和版本控制帶來的儲存成本,建議通過生命週期規則實現儲存成本控制和自訂資料保留原則。
資料複製結合生命週期的使用情境中,有如下注意事項:
資料複製時僅將源Bucket生命週期規則作用的結果同步至目標Bucket,而不會將源Bucket的生命週期規則配置同步到目標Bucket。如果您希望目標Bucket中的Object副本能夠遵循和源Bucket一樣的生命週期規則,請在目標Bucket添加與源Bucket相同的生命週期規則。
如果您對目標Bucket設定了生命週期規則,需要注意資料複製後的對象副本的建立時間為對象在源Bucket中的建立時間,而非出現在目標Bucket中的時間。
如果您在源Bucket中設定了生命週期規則,某個Object進行中資料複製的同時被生命週期規則刪除,則Object的資料複製行為可能仍會繼續,目標Bucket中的Object副本仍然保留。
資料複製結合伺服器端加密
相同帳號下的資料複製支援複製未加密的對象和使用KMS託管祕密金鑰加密、OSS完全託管加密(SSE-OSS)進行伺服器端加密的對象。更多資訊,請參見伺服器端加密。
資料複製結合伺服器端加密的使用情境中,會出現以下幾種情況:
源Object的加密情況 | 目標Bucket的加密方式 | 是否使用KMS加密目標對象 | 目標Object的加密方式 |
未加密 | 未加密 | 不影響 | 保留未加密狀態 |
SSE-OSS | 不影響 | SSE-OSS | |
SSE-KMS,不指定CMK ID | 不影響 | SSE-KMS,不指定CMK ID | |
SSE-KMS,指定CMK ID | 是 配置SyncRole、CMKID | SSE-KMS,指定CMK ID | |
否 | 不涉及(源Object無法複製到目標Bucket) | ||
OSS完全託管加密(SSE-OSS) | 無限制 | 不影響 | SSE-OSS |
KMS託管祕密金鑰加密(SSE-KMS,不指定CMK ID) | 無限制 | 是 配置SyncRole、CMKID | SSE-KMS,指定CMK ID |
否 | SSE-KMS,不指定CMK ID | ||
KMS託管祕密金鑰加密(SSE-KMS,指定CMK ID) | 無限制 | 是 配置SyncRole、CMKID | SSE-KMS,指定CMK ID |
否 | 不涉及(源Object無法複製到目標Bucket) |
資料複製結合合規保留原則
當Bucket的合規保留原則(WORM)被鎖定後,您可以在Bucket中上傳和讀取Object,但是在Object的保留時間到期之前,無法修改(覆寫)或刪除Object。
關於合規保留原則的更多資訊,請參見合規保留原則。
資料複製結合合規保留原則的使用情境中,會出現以下幾種情況:
源Object是否處於WORM保護期 | 源Bucket中允許的操作 | 目標Object是否處於WORM保護期 | 是否同步到目標Bucket |
否 | 新增Object | 是 | 否 |
覆寫Object | 是 | 否 | |
刪除Object | 是 | 否 | |
否 | 新增Object | 否 | 是 |
覆寫Object | 否 | 是 | |
刪除Object | 否 | 是 | |
是 | 新增Object | 不影響 | 是 |