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

概觀

Amazon S3 複寫是一個彈性、全受管且低成本的功能,可在不同 Amazon S3 儲存貯體之間複寫物件。S3 複寫可讓您將某個來源儲存貯體中的資料,複寫到相同或不同 AWS 區域中的多個目的地儲存貯體。無論是要保有資料的次要副本以便保護資料,還是要在多個地理位置擁有資料以向使用者提供最低的延遲,S3 複寫都能為您帶來符合業務需求所需的控制能力。這份 Amazon S3 入門指南會向您展示如何遵循 S3 相同區域複寫 (SRR)、S3 跨區域複寫 (CRR)、S3 複寫時間控制 (S3 RTC) 和 S3 批次複寫的 S3 複寫最佳實務。 

透過 S3 相同區域複寫 (SRR),您可以在相同 AWS 區域內的儲存貯體之間自動複寫資料,以便將日誌彙總到單一儲存貯體、在開發人員和測試帳戶之間進行複寫,以及遵守資料主權法律。透過 S3 跨區域複寫 (CRR),您可以將物件 (及其各自的中繼資料和物件標籤) 複寫到其他 AWS 區域,以獲得減少的延遲、合規、安全、災難復原和地理效率。您也可以啟用 S3 複寫時間控制 (S3 RTC),以便符合資料複寫的合規或業務要求。S3 RTC 能在幾秒內複寫您上傳至 Amazon S3 的大多數物件,其中有 99.99% 的物件能在 15 分鐘內完成複寫。若要複寫現有物件,您可以使用 S3 批次複寫來使用現有物件回填新建立的儲存貯體、重試以前無法複寫的物件、跨帳戶遷移資料,或向資料湖新增儲存貯體。如需 S3 複寫的詳細資訊,請瀏覽《Amazon S3 使用者指南》中的複寫物件一節。 本教學結束時,您將能夠使用 Amazon S3 複寫在 AWS 區域內和區域間複寫資料。

您會完成的目標

在本教學中,您將:

  • 建立 S3 儲存貯體
  • 在 S3 儲存貯體上建立 S3 複寫規則
  • 選擇目的地 S3 儲存貯體
  • 選擇或建立用於複寫的 IAM 角色
  • 指定加密類型 (選用)
  • 選擇目的地 S3 儲存類別
  • 啟用其他複寫選項 (選用)

先決條件

 AWS 經驗

初階

 完成時間

20 分鐘

 完成成本

低於 1 美元 (Amazon S3 定價頁面)

 要求

AWS 帳戶**
 
[**]過去 24 小時內建立的帳戶可能尚未有權存取本教學課程所需的服務。
 

 使用的服務

 上次更新日期

2022 年 10 月 17 日

實作

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

1.1 – 登入 Amazon S3 主控台 

  • 如果您尚未建立 AWS 帳戶,請先建立一個 AWS 帳戶。 
  • 使用您的帳戶資訊登入 AWS 管理主控台
  • 在 AWS Console 服務搜尋列中,輸入 S3。 在服務搜尋結果區段下,選取 S3

1.2 – 建立 S3 儲存貯體

  • 從左側導覽窗格的 Amazon S3 功能表中選擇 Buckets (儲存貯體),然後選擇 Create bucket (建立儲存貯體) 按鈕。

1.3

  • 為儲存貯體輸入一個全域唯一的描述性名稱。選取您想在其中建立儲存貯體的 AWS Region (AWS 區域)。在此範例中,選取 EU (Frankfurt) eu-central-1 Region (歐盟 (法蘭克福) eu-central-1 區域)。S3 複寫需要同時為來源和目的地 S3 儲存貯體啟用 Bucket Versioning (儲存貯體版本控制)。如需版本控制的詳細資訊,請參閱使用 S3 儲存貯體中的版本控制
  • 您可以將剩餘選項保留預設值。導覽至頁面底部,然後選擇 Create bucket (建立儲存貯體)。

1.4

  • 重複上述步驟,建立另一個 S3 儲存貯體作為用於複寫物件的目的地儲存貯體。請務必也為目的地 S3 儲存貯體啟用 Bucket Versioning (儲存貯體版本控制)。 

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

2.1 – 選取來源 S3 儲存貯體

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

2.2 

選取來源 S3 儲存貯體後,主控台會帶您前往 S3 儲存貯體的登陸頁面,如下列螢幕擷取畫面所示。您可以在此檢閱所選 S3 儲存貯體的 Objects (物件)、Properties (屬性)、Permissions (許可)、Metrics (指標)、Management (管理) Access Points (存取點)。

2.3 – 為所選 S3 儲存貯體建立 S3 複寫規則

  • 選擇複寫來源儲存貯體的 Management (管理) 標籤。在 Management (管理) 下,您會看到 Replication rules (複寫規則)。選取 Create replication rule (建立複寫規則)。

步驟 3:設定複寫規則

3.1 – 啟用複寫規則

  • 提供 Replication rule name (複寫規則名稱),然後選取 Status (狀態) 區段下的 Enabled (啟用) 以啟用複寫規則。複寫規則在停用時不會執行。

Priority (優先順序) 會指出當兩個以上的複寫規則發生衝突時,哪個規則具有優先權。您可以選擇在複寫組態頁面上編輯每個複寫規則的優先順序。Amazon S3 會根據所有複寫規則來嘗試複寫物件。然而,如果有兩個以上的規則具有相同的目的地儲存貯體,則會根據具有最高優先順序的規則來複寫物件。優先順序為 1 的規則會在優先順序為 2 的規則之前執行。數字越小,優先順序越高。例如,假設您有一個複寫規則會複寫標籤為 foo1 的所有物件,並有另一個複寫規則會複寫標籤為 foo2 的所有物件。如果有一個物件加上了 foo1foo2 標籤,系統只會使用優先順序較高的複寫規則來複寫該物件。如果只有一個複寫規則會前往一個目的地儲存貯體,系統就不會考慮優先順序。 

3.2 – 選擇要複寫的內容

  • 您可以透過定義 Filter type (篩選條件類型) (Prefix (字首)Tags (標籤)) 來縮小複寫範圍,也可以選擇複寫整個儲存貯體。例如,如果您只想複寫 Prefix (字首) 為 “Finance” 的物件,請指定該範圍。如需如何篩選要複寫的物件的詳細資訊,請瀏覽《S3 使用者指南》中有關如何指定篩選條件的文件。

3.3 – 選擇目的地 S3 儲存貯體

  • 選取 Browse S3 (瀏覽 S3) 按鈕,以選擇目的地儲存貯體。您可以複寫到相同或不同 AWS 區域中的目的地儲存貯體,以及相同或不同 AWS 帳戶中的目的地儲存貯體。請注意,您需要兩個不同的 S3 儲存貯體來設定複寫,而且這兩個儲存貯體 (來源和目的地) 都必須啟用 S3 版本控制。S3 主控台無法讓您在複寫設定程序中建立新的 S3 儲存貯體。在此範例中,我們選擇的目的地儲存貯體是 “aws-s3-replication-tutorial-destination-bucket”。

3.4 - IAM 考量

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

3.5 - 加密選項 (如果物件未加密,請跳過此步驟)

3.6 - 選取目的地的 S3 儲存類別

  • 接下來,您可以選擇在目的地儲存貯體中,為所複寫的物件選擇不同的 S3 儲存類別。請考慮選擇適合您工作負載的較低成本儲存類別。例如,如果所複寫的物件不會經常存取卻又需要在數毫秒內完成擷取,便可以選擇 Amazon S3 Glacier Instant Retrieval 儲存類別,若要封存不太需要存取的資料,可以選擇 S3 Glacier Deep Archive,若要針對存取模式難以捉摸或是會變化的資料將儲存成本最佳化,則可以選擇 S3 Intelligent-Tiering。如需詳細資訊,請參閱有關使用 Amazon S3 儲存類別的文件。

3.7 – 其他複寫選項

  • 選擇其他複寫選項,例如啟用 S3 複寫時間控制 (S3 RTC)複寫指標和通知刪除標記複寫以及複本修改同步S3 RTC 可協助您符合合規和業務要求,因為其提供 15 分鐘就能複寫 99.99% 物件的 SLA。RTC 可與 S3 跨區域複寫 (S3 CRR) 和 S3 相同區域複寫 (S3 SRR) 一起啟用,並且預設會啟用複寫指標和通知。對於非 RTC 規則,您可以選取 Replication metrics and notifications (複寫指標和通知),其提供詳細的指標以追蹤複寫規則的待處理位元組、待處理操作和複寫延遲的每分鐘進度。選取 Delete marker replication (刪除標記複寫) 表示來源儲存貯體上的刪除操作會複寫至目的地儲存貯體。如果您想要讓來源和目的地儲存貯體保持同步,則應啟用此選項;但如果您的目標是防止意外或惡意刪除,則不應啟用此選項。若要在兩個 S3 儲存貯體之間建立雙向複寫機制,請建立雙向複寫規則 (A 到 B 和 B 到 A),並同時針對來源和目的地 S3 儲存貯體中的複寫規則啟用 Replica modification sync (複本修改同步)。這可協助您在複本和來源物件之間保持物件中繼資料 (例如標籤、ACL 和物件鎖定設定) 的同步。
  • 檢閱複寫組態,然後選擇 Save (儲存)。

步驟 4:另外建立一個從相同來源 S3 儲存貯體到另一個目的地 S3 儲存貯體的 S3 複寫規則

  • 重複上述步驟,另外建立一個從相同來源 S3 儲存貯體到另一個目的地 S3 儲存貯體的 S3 複寫規則。提供 Replication rule name (複寫規則名稱),然後選取 Status (狀態) 區段下的 Enabled (啟用) 以啟用複寫規則。選擇複寫規則的範圍,以選擇要複寫的內容。
  • 選取 Browse S3 (瀏覽 S3) 按鈕,以選擇目的地儲存貯體。在此範例中,我們選擇的目的地儲存貯體是 “ack-test-bucket-us-east-1”。
  • 選取 Destination S3 storage class (目的地 S3 儲存類別)。在此範例中,我們選擇複寫到目的地儲存貯體中的 S3 Standard (S3 標準) 儲存類別。
  • 為複寫規則選擇 Additional replication options (其他複寫選項)。在此範例中,我們選擇啟用 S3 Replication Time Control (RTC) (複寫時間控制 (RTC))。

步驟 5:檢閱複寫組態

儲存複寫規則後,便會返回 S3 複寫的登陸頁面,如下列螢幕擷取畫面所示。您可以在此檢閱具有所有不同複寫規則,以及規則優先順序和其他選項 (例如加密和 RTC) 的複寫組態。 

接下來,將新物件上傳至複寫來源儲存貯體,以測試新增的複寫組態。確認您有看到物件複寫到新的目的地儲存貯體。複寫指標可能需要幾分鐘的時間才會顯示在 S3 主控台中。

步驟 6:監控複寫進度

6.1 

現在您已經為此儲存貯體設定了複寫功能,接下來便可以追蹤每個目的地的指標和通知。開啟來源儲存貯體的 Metrics (指標) 標籤。

6.2 

向下導覽以檢視 Replication metrics (複寫指標),然後選取一或多個要監控的 Replication rules (複寫規則)。選擇 Display charts (顯示圖表) 以查看所有複寫規則的 Operations pending replication (待複寫操作)、 Bytes pending replication (待複寫位元組) 和 Replication latency (複寫延遲)。

此外,您也可以使用 View in CloudWatch (在 CloudWatch 中檢視) 連結以檢視 Amazon CloudWatch 上的 Replication metrics (複寫指標)。您可以在此全面一覽每個複寫規則、來源儲存貯體和目的地儲存貯體的複寫指標。此外,您還可以收集可行的洞察並設定警示以監控指標。如需詳細資訊,請參閱使用 Amazon CloudWatch 警示

步驟 7:監控個別物件的複寫狀態

您可以使用 Amazon S3 庫存以針對業務、合規和法規需求來稽核和回報物件的複寫狀態。複寫狀態可協助您判斷要複寫之物件的目前狀態。來源物件的複寫狀態會傳回擱置中、已完成或失敗。 複本的複寫狀態會傳回複本。 如需複寫狀態的詳細資訊,請參閱取得複寫狀態資訊。如需如何設定 Amazon S3 庫存報告的詳細資訊,請參閱有關使用 Amazon S3 庫存和 Amazon Athena 大規模管理和分析資料的文件。

步驟 8:清除資源

8.1 – 刪除測試物件

  • 如果您已登出 AWS 管理主控台工作階段,請重新登入。導覽至 S3 主控台並選取 Buckets (儲存貯體) 選單選項。首先,您需要從測試儲存貯體中刪除測試物件。選取您在本教學中使用的儲存貯體名稱。
  • 選取測試物件名稱左側的核取方塊,然後選擇 Delete (刪除) 按鈕。
  • Delete objects (刪除物件) 頁面上,確認您已選取要刪除的正確物件,然後在 Permanently delete objects (永久刪除物件) 確認方塊中輸入 delete (刪除)。然後,選擇 Delete object (刪除物件) 按鈕以繼續。 
  • 接下來,您將看到一條橫幅,指明刪除是否成功。

8.2 – 刪除測試儲存貯體

  • 最後,您需要刪除已建立的測試儲存貯體。回到您帳戶中的儲存貯體清單。選取為本教學建立的來源儲存貯體左側的選項按鈕,然後選擇刪除按鈕。 
  • 檢閱警告訊息。如果要繼續刪除此儲存貯體,請在 Delete bucket (刪除儲存貯體) 確認方塊中輸入儲存貯體名稱,然後選擇 Delete bucket (刪除儲存貯體)。
  • 重複先前的步驟以同時刪除您在本教學中建立的目的地儲存貯體。回到您帳戶中的儲存貯體清單。選取為本教學建立的來源儲存貯體左側的選項按鈕,然後選擇刪除按鈕。
  • 檢閱警告訊息。如果要繼續刪除此儲存貯體,請在 Delete bucket (刪除儲存貯體) 確認方塊中輸入儲存貯體名稱,然後選擇 Delete bucket (刪除儲存貯體)。

結語

恭喜您! 您已經了解如何使用 S3 複寫,跨一個或多個 AWS 區域將物件從來源 S3 儲存貯體複寫到目的地 S3 儲存貯體,以符合合規要求、將延遲降至最低,並提高營運效率。

S3 複寫是全受管、低成本、以政策為基礎的儲存管理功能,幾乎或完全不需要手動介入。建議您為每個複寫規則啟用指標和通知、在來源儲存貯體上開啟 Amazon S3 事件通知,以及啟用適當的 Amazon CloudWatch 指標和提醒。啟用後,便能夠追蹤一或多個 S3 儲存貯體的 S3 複寫進度。

本頁對您是否有幫助?

後續步驟