2017-02-28 28 views
0

我目前已經配置了複製,這樣us-east-1上的我的S3文檔被複制到us-west-2上的存儲桶中。鑑於今天的(gasp) AWS停電,我考慮故障轉移到us-west-2(目前似乎在線)。因此,我對此有幾個問題:S3交叉區域複製 - 反向複製

  1. 一旦服務恢復,上傳到us-west-2的文檔是否會被複制回us-east-1?我懷疑答案是否定的,因爲我沒有找到任何關於雙向複製的文檔。
  2. 如果雙向複製沒有發生,並且我決定故障切換到us-west-2,那麼恢復一次us-east-1恢復聯機的過程是什麼?我認爲這將需要編寫一個腳本來將所有丟失的文檔複製回我們東1。任何其他想法或建議?

回答

1

雙向複製的問題總是歸結爲「誰擁有正確版本的數據」。當只有一個數據源時,現在並不那麼困難,但是當有兩個數據源時呢?如果一個進程寫入一個區域,另一個寫入同一個東西到另一個區域,什麼判斷衝突?

這就是爲什麼你沒有看到有關雙向複製的文檔 - 這很難以通用的方式解決。我會看看像s3 sync或自定義腳本之類的東西來重新同步桶。

+0

就我而言,真正不會有任何關於「誰有正確版本」的問題。我的文檔名稱保證是唯一的,因爲它們對應於我的數據庫中的一個ID(並且不能被修改)。那是我的恢復過程如下所示: – Dustin

+0

1.故障轉移到我們-west-2 2.在服務恢復時指向我們 - east-1 3.運行s3-sync將新上傳的文件返回從us-west-2到us-east-1 我是否錯過了一些東西,還是有更好的方法來恢復? – Dustin

+1

考慮到您的設置聽起來正確。我也會考慮扭轉複製方向,但這可能更危險。當我將文件從us-west-2推送到us-east-1時,我不確定會發生什麼,然後它會嘗試將文件從us-east-1複製回us-west-2。也許最初關閉複製?我會首先測試一個假文件,以確保它不會破壞任何東西。 – stdunbar