使用 Amazon S3 Batch Replication 複寫 Amazon S3 儲存貯體中的現有物件

教學

概觀

本教學介紹如何使用 Amazon Simple Storage Service (Amazon S3) Batch Replication,在相同 AWS 區域內或跨不同 AWS 區域複寫儲存貯體中已存在的物件。

Amazon S3 複寫是一個彈性、全受管且低成本的功能,可在不同 Amazon S3 儲存貯體之間複寫物件。您可以將一個來源儲存貯體中的新資料和現有資料複寫到相同或不同 AWS 區域中的多個目標儲存貯體。無論是要維護資料的次要副本以進行資料保護,還是要在多個地理位置擁有資料以向使用者提供最低的延遲,S3 複寫都能為您帶來符合業務需求所需的控制項。

您可以使用 Amazon S3 Batch Replication 來使用現有物件回填新建立的儲存貯體,重新複寫已經複寫或以前無法複寫的物件,跨帳戶遷移資料,或者向資料湖新增新儲存貯體。S3 Batch Replication 任務建立在現有複寫組態之上,並針對為儲存貯體啟用的所有複寫規則執行。如需 S3 複寫的詳細資訊,請瀏覽 Amazon S3 使用者指南中的複寫物件一節,如需設定 S3 複寫的逐步教學,請參閱使用 Amazon S3 複寫在 AWS 區域內和區域之間複寫資料。本教學結束時,您將能夠使用 Amazon S3 複寫在 AWS 區域內和區域之間複寫現有資料。

您會完成的目標

在本教學中,您將:

  • 在您的 Amazon S3 儲存貯體上設定 S3 複寫
    • 建立兩個 S3 儲存貯體
    • 在 S3 儲存貯體上建立 S3 複寫規則
    • 選擇目的地 S3 儲存貯體
    • 選擇或建立用於複寫的 IAM 角色
    • 指定加密類型 (選用)
    • 選擇目的地 S3 儲存類別
    • 啟用其他複寫選項 (選用)
  •  使用下列方式為 Amazon S3 儲存貯體中的現有物件設定 S3 Batch Replication:
    • 在儲存貯體上建立新的複寫組態或將新目的地新增至現有複寫組態時,建立 S3 Batch Replication 任務
    • 從 S3 Batch Operations 首頁建立 S3 Batch Replication 任務 (建議)
    • 從現有複寫組態頁面建立 S3 Batch Replication 任務

先決條件

在開始本教學之前,您需要具備:

 AWS 經驗

初階

 完成時間

20 分鐘

 完成成本

低於 1 USD
請參閱 Amazon S3 定價頁面了解詳細資訊

 要求

AWS 帳戶

 使用的服務

 上次更新日期

2023 年 6 月 30 日

實作

步驟 1:建立兩個 Amazon S3 儲存貯體

1.1 使用您的帳戶資訊登入 AWS 管理主控台。在搜尋列中輸入 S3,然後從結果中選取 S3

1.2 在 S3 主控台的左側導覽窗格中,選擇儲存貯體,然後選擇建立儲存貯體

1.3 為來源儲存貯體輸入全域唯一的描述性名稱。選取您要在其中建立儲存貯體的 AWS 區域。在此範例中,選取歐洲 (法蘭克福) eu-central-1 區域

1.4 啟用儲存貯體版本控制。S3 複寫的來源和目的地 S3 儲存貯體都需要儲存貯體版本控制。如需版本控制的詳細資訊,請參閱使用 S3 儲存貯體中的版本控制

1.5 可以將剩餘的選項保留為預設值。導覽至
頁面底部,然後選擇建立儲存貯體

1.6 重複上述步驟,建立另一個 S3 儲存貯體作為目的地儲存貯體。此新儲存貯體可以存在於與來源儲存貯體相同的 AWS 區域以進行 S3 相同區域複寫 (S3 SRR),或者存在於不同的 AWS 區域以進行 S3 跨區域複寫 (S3 CRR)。請務必為目的地 S3 儲存貯體啟用儲存貯體版本控制,並將新儲存貯體命名為唯一名稱。

步驟 2:在 S3 儲存貯體上建立 S3 複寫組態

2.1 從 S3 儲存貯體清單中選擇來源 S3 儲存貯體。主控台會帶您前往 S3 儲存貯體頁面。

2.2 在 S3 儲存貯體登陸頁面上,您可以檢閱所選 S3 儲存貯體的物件屬性許可指標管理存取點

管理標籤的複寫規則下,選取建立複寫規則

2.3 輸入複寫規則名稱,並確定選取狀態區段下的已啟用。如果停用複寫規則,它將不會執行。

備註:Amazon S3 會嘗試依據所有複寫規則複寫物件。然而,如果有兩個或更多的規則具有相同的目的地儲存貯體,則會依據具有最高優先順序的規則複寫物件。數字越小,優先順序越高。您可以在「複寫組態」頁面上編輯每條複寫規則的優先順序。 

2.4 透過定義篩選條件類型 (字首標籤) 來縮小複寫範圍,或者選擇複寫整個儲存貯體。例如,如果您只想複寫包含字首 Finance 的物件,請指定該範圍。如需篩選物件以進行複寫的詳細資訊,請參閱 S3 使用者指南中有關指定篩選條件的文件。

2.5 選取瀏覽 S3 按鈕並輸入整個儲存貯體名稱,以此選擇您建立的目的地儲存貯體。

您無法在複寫設定程序期間建立新的 S3 儲存貯體。

2.6 從相同來源儲存貯體建立新複寫規則時,請確定與此組態相關聯的 AWS Identity and Access Management (IAM) 角色具有充分的許可,可在新的目的地儲存貯體中寫入新物件。您可以選擇建立新的 IAM 角色,或選取具有正確許可集的現有 IAM 角色。如需詳細資訊,請參閱有關設定 S3 複寫許可的文件。

2.7 (選用) 如果使用 Amazon S3 受管加密金鑰 (SSE-S3) 或 AWS Key Management Service (AWS KMS) 加密您的物件,請指定加密選項。S3 複寫支援 SSE-S3 (預設加密)、AWS KMS 伺服器端加密 (SSE-KMS) 以及使用客戶提供金鑰的伺服器端加密 (SSE-C)。如果您選擇 AWS KMS 加密,請提供 AWS KMS 金鑰以在來源儲存貯體中解密,並在目的地儲存貯體中重新加密。若要節省 AWS KMS 成本,您可以啟用 Amazon S3 儲存貯體金鑰

2.8 (選用) 在目的地儲存貯體中為複寫物件選擇 S3 儲存類別。考慮選擇適合工作負載的較低成本儲存類別。例如,您可以選擇智慧型分層以最佳化存取模式不可預知或變更之資料的儲存成本;如果不常存取複寫的物件,但需要在几毫秒內擷取,則選擇 Glacier Instant Retrieval,或者選擇 Glacier Deep Archive 來封存很少需要存取的資料。如需詳細資訊,請參閱使用 Amazon S3 儲存類別

2.9 選擇需要的任何其他複寫選項:

  • 複寫時間控制 (RTC):S3 RTC 可協助您符合合規和業務要求,因為它提供 15 分鐘的 SLA,可複寫 99.99% 的物件。可以同時啟用 S3 RTC 以及 S3 CRR 和 S3 SRR。預設會啟用複寫指標和通知。
  • 複寫指標和通知:對於非 RTC 規則,您可以選擇相應選項以選取複寫指標和通知,其中提供詳細的指標來追蹤複寫規則的待處理位元組、待處理操作、已失敗操作以及複寫延遲的每分鐘進度。
  • 刪除標記複寫:選取刪除標記複寫表示來源儲存貯體上的刪除操作將會複寫至目的地儲存貯體。如果您想要讓來源和目的地儲存貯體保持同步,則應啟用此選項;但如果目標是防止意外或惡意刪除,則不應啟用此選項。
  • 複本修改同步:若要在兩個 S3 儲存貯體之間形成雙向複寫,請建立雙向複寫規則 (A 到 B 和 B 到 A),並針對來源和目的地 S3 儲存貯體中的複寫規則啟用複本修改同步。這可協助您在複本和來源物件之間保持物件中繼資料 (例如標籤、ACL 和 Object Lock 設定) 同步。

使用 S3 Batch Replication 複寫現有物件時,不支援 S3 RTC複寫指標和通知以及複本修改同步

設定複寫之後,請選擇儲存。 

2.10 在 S3 儲存貯體的新複寫組態中建立第一條規則或將新的目的地 AWS 區域新增至現有組態時,您可以選擇為該複寫規則啟用現有物件複寫。若要複寫現有物件,請選擇是,複寫現有物件,然後選擇提交

主控台會帶您前往建立批次操作任務頁面。

步驟 3:建立新的複寫組態時複寫現有物件

建立批次操作任務頁面上,您可以檢閱 S3 批次操作任務
設定,如任務執行選項、S3 完成報告範圍和許可。

3.1 設定任務執行選項。如果您想要 S3 Batch Replication 任務立即執行,可以選擇準備就緒時自動執行任務。如果您想要等待任務準備就緒時執行,可以儲存「批次操作」清單檔案,以檢閱要複寫的物件清單。

3.2 設定「批次操作」清單檔案選項。Amazon S3 產生的清單檔案使用與複寫組態相同的來源儲存貯體、字首和標籤,以列出要複寫物件的所有合格版本。建議您一律選擇儲存批次操作清單檔案,以便在開始複寫之前檢閱物件清單。可以將清單檔案儲存在相同或不同的 AWS 帳戶中,但清單檔案必須與來源儲存貯體存放在相同的 AWS 區域中。

在此範例中,我們選擇「aws-s3-tutorial-batch-replication-manifest-destination」儲存貯體來儲存清單檔案,該檔案與來源儲存貯體位於相同的 AWS 帳戶中。

3.3 為了提高安全性,請使用 Amazon S3 受管金鑰 (SSE-S3) 或 AWS Key Management Service 金鑰 (SS3-KMS) 加密清單檔案。

3.4 只要 S3 批次操作成功處理至少一個物件,Amazon S3 就會在批次複寫任務完成、失敗或取消後產生完成報告。完成報告包含每項任務的其他資訊,包括物件索引鍵名稱和版本、狀態、錯誤代碼以及任何錯誤的描述。建議您選擇產生所有任務的完成報告,以便檢閱使用此任務複寫之所有物件的狀態。如需完成報告的範例,請參閱範例:S3 批次操作完成報告

3.5 確保與此 Batch Replication 任務相關聯的 IAM 角色具有充分的許可以代表您執行 S3 批次操作。如需詳細資訊,請參閱有關設定 Batch Replication 的 IAM 政策授予 Amazon S3 Batch Operations 許可的文件。

檢閱組態,然後選取儲存

系統會將您重新導向至「批次操作」首頁。

3.6 選擇新任務的任務 ID 以檢閱任務組態。您也可以追蹤 Batch Replication 任務的狀態

步驟 4:使用現有的複寫組態複寫現有物件

除了為上一步中所述的複寫規則建立複寫任務之外,您還可以針對 S3 儲存貯體中現有的複寫規則建立 S3 Batch Replication 任務。為此,請返回 Amazon S3 主控台首頁。

4.1 在主控台首頁的左側導覽窗格中,選擇批次操作,然後選擇建立任務

4.2 在建立任務頁面上,選取要在其中建立 Batch Replication 任務的 AWS 區域。必須在來源 S3 儲存貯體所在的相同 AWS 區域中建立任務。

4.3 提供要複寫的物件清單。可以使用 Amazon S3 庫存報告或 CSV 檔案的形式新增使用者產生的清單檔案。清單檔案需要包含待複寫的所有物件版本。Amazon S3 也可以使用來源儲存貯體上現有的 S3 複寫組態自動產生清單檔案。

備註:在此範例中,我們選擇使用 S3 複寫組態建立清單檔案以讓 Amazon S3 代表我們產生清單檔案,並且選擇「ws-s3-replication-tutorial-source-bucket」作為來源儲存貯體。如果您選擇讓 Amazon S3 自動產生清單檔案,則也會看到其他篩選條件,例如物件建立日期和複寫狀態,可以此縮小任務範圍。

       4.4 (選用) 如果您選擇儲存批次操作清單檔案,請使用 Amazon S3 受管金鑰 (SSE-S3) 或 AWS Key Management Service 金鑰 (SSE-KMS) 加密清單檔案,以提供額外的安全性和存取控制。

  • 如果您未指定加密模式,Amazon S3 將使用清單檔案目的地儲存貯體上的預設加密設定來加密清單檔案。
  • 如果目的地儲存貯體未啟用預設加密,Amazon S3 將使用 SSE-S3 加密清單檔案。

 

 

4.5 選擇下一步以前往選擇操作頁面。

4.6 如果您在上一頁選擇使用 S3 複寫組態建立清單檔案,則唯一的「操作」選項是複寫。這是因為複寫是使用 S3 產生的清單檔案時允許的唯一操作。選取複寫,然後選擇下一步

4.7 設定其他選項:

  • 輸入描述,以最全面地定義任務的目的。
  • 選取優先順序,以指出此任務與您帳戶中執行之其他任務的相對優先順序。數字越大表示優先順序越高。例如,優先順序為 2 的任務會優先於優先順序為 1 的任務執行。S3 批次操作會根據優先順序編號優先處理任務,但不能保證遵循嚴格的排序。因此,不應使用任務優先順序來確保任何一項任務在任何其他任務之前開始或完成。如果需要確保嚴格的排序,請等到一項任務完成後再開始下一項任務。

4.8 選擇是否要產生完成報告。 

4.9 選擇有效的批次操作 IAM 角色,授予 Amazon S3 許可以代表您執行動作。

還必須將 Batch Replication IAM 政策連接至批次操作 IAM 角色。 若要建立有效的 IAM 角色和政策,請參閱設定 Batch Replication 的 IAM 政策

4.10 將任務標籤新增至 Batch Replication 任務,然後選擇下一步以檢閱任務組態。

 

4.11 在檢閱頁面上,選擇編輯進行變更,然後選擇下一步儲存變更並返回檢閱頁面。

任務準備就緒時,請選擇建立任務。 

 

4.12 建立 Batch Replication 任務之後,批次操作會處理清單檔案。如果成功,它會將任務狀態變更為等待您的確認執行。必須先確認任務的詳細資訊,然後才能執行。

任務成功後,批次操作頁面頂部會顯示橫幅。

步驟 5:從 S3 複寫組態頁面建立 Batch Replication 任務

5.1 從 S3 儲存貯體清單中,選擇要設定為複寫來源的 S3 儲存貯體。

主控台會帶您前往 S3 儲存貯體頁面。

5.2 檢閱所選 S3 儲存貯體的物件屬性許可指標管理存取點

5.3 在管理標籤的複寫規則下,選取檢視複寫組態

5.4 在來源儲存貯體的複寫組態首頁上,選擇建立複寫任務以前往 S3 Batch Operations 的建立任務頁面。重複上述步驟,從現有的複寫組態建立 Batch Replication 任務。

步驟 6:監控 S3 Batch Replication 任務的進度

建立並執行 S3 Batch Replication 任務之後,它會經歷一系列狀態。您可以參考批次操作首頁上的這些狀態,以此追蹤 Batch Replication 任務的進度。

例如,任務在建立時處於新增狀態,在 Amazon S3 處理清單檔案和其他任務參數時移至準備中狀態,然後在準備執行時移至就緒狀態、在進行中時進入作用中狀態,最後在處理完成時移至完成狀態。如需任務狀態的完整清單,請參閱批次操作任務狀態

可以選擇在建立 Batch Replication 任務時產生完成報告,以追蹤物件複寫的狀態。完成報告是 Amazon S3 在任務完成、失敗或取消後產生的 CSV 檔案,前提是已使用 S3 批次操作成功叫用至少一項任務。

此外,如果您已針對複寫規則啟用複寫指標S3 複寫時間控制 (S3 RTC),則可以使用「已失敗操作」複寫指標,在 Amazon S3 主控台和 Amazon CloudWatch 主控台上檢閱每分鐘失敗的操作數。如需詳細資訊,請參閱 S3 批次操作完成報告使用 S3 複寫指標監控進度

步驟 7:清除資源

刪除測試物件

  1. 如果您已登出 AWS 管理主控台工作階段,請重新登入。
  2. 導覽至 S3 主控台並選取儲存貯體選單選項。
  3. 首先,您需要從測試儲存貯體中刪除測試物件。選取您在本教學中使用的儲存貯體。
  4. 選取測試物件,然後選擇刪除
  5. 刪除物件頁面上,確認您是否已選取要刪除的物件,並在確認欄位中輸入 delete,然後選擇刪除物件

頁面頂部的橫幅指示刪除成功。

刪除測試儲存貯體

  1. 回到您帳戶中的儲存貯體清單。
  2. 選取您為本教學建立的來源儲存貯體左側的選項按鈕,然後選擇刪除
  3. 在確認欄位中輸入儲存貯體名稱,然後選擇刪除儲存貯體
  4. 重複這些步驟以刪除您在本教學中建立的目的地儲存貯體。

頁面頂部的橫幅指示刪除成功。

結語

恭喜您! 您已學習如何使用 S3 Batch Replication 將現有物件從來源複寫到目的地 S3 儲存貯體,以使用現有物件回填新建立的儲存貯體,複寫先前已複寫的物件,以及複寫過去無法複寫的物件。使用 S3 Batch Replication 時,建議使用 S3 產生的清單檔案自動列出要複寫的物件。您也應該儲存複寫清單檔案,以供日後檢閱和分析。最後,我們建議您產生完成報告,以追蹤使用 S3 Batch Replication 進行複寫的物件狀態。

後續步驟

若要進一步了解 S3 複寫,請瀏覽下列資源。

S3 Batch Replication 文件

S3 複寫常見問答集

「使用 Amazon S3 Batch Replication 複寫現有物件」部落格

使用 Amazon S3 複寫,在 AWS 區域內和區域間複寫資料