DynamoDB 全域資料表的運作方式 - Amazon DynamoDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

DynamoDB 全域資料表的運作方式

多帳戶全域資料表擴展 DynamoDB 全域資料表的全受管、無伺服器、多區域和多作用中功能,以跨多個 AWS 帳戶。多帳戶全域資料表跨 AWS 區域和帳戶複寫資料,提供與相同帳戶全域資料表相同的主動-主動功能。當您寫入任何複本時,DynamoDB 會將資料複寫至所有其他複本。

與相同帳戶全域資料表的主要差異包括:

  • 多區域最終一致性 (MREC) 全域資料表支援多帳戶複寫。

  • 您只能從單一區域資料表開始新增複本。不支援將現有的相同帳戶全域資料表轉換為多帳戶設定。若要遷移,您必須先刪除現有的複本,才能返回單一區域資料表,然後再建立新的多帳戶全域資料表。

  • 每個複本都必須位於個別 AWS 帳戶中。對於具有 N 個複本的多帳戶全域資料表,您必須擁有 N 個帳戶。

  • 根據預設,多帳戶全域資料表會在所有複本中使用統一的資料表設定。所有複本會自動共用相同的組態 (例如輸送量模式、TTL 和 PITR),與相同帳戶全域資料表不同,每個複本都無法覆寫這些設定。

  • 客戶必須在其資源政策中提供複寫許可給 DynamoDB 全域資料表服務主體。

多帳戶全域資料表使用與相同帳戶全域資料表相同的基礎複寫技術。資料表設定會自動複寫到所有區域複本,客戶無法覆寫或自訂每個複本的設定。這可確保在參與相同全域資料表的多個 AWS 帳戶之間一致的組態和可預測的行為。

DynamoDB 全域資料表中的設定會定義資料表的行為方式,以及跨區域複寫資料的方式。這些設定是在建立資料表期間或新增區域複本時,透過 DynamoDB 控制平面 APIs 進行設定。

建立多帳戶全域資料表時,客戶必須為每個區域複本設定 GlobalTableSettingsReplicationMode = ENABLED 。這可確保在一個區域中所做的組態變更會自動傳播到參與全域資料表的所有其他區域。

您可以在建立資料表後啟用設定複寫。這支援將資料表最初建立為區域資料表,稍後升級至多帳戶全域資料表的情況。

同步設定

下表設定一律會同步多帳戶全域資料表中所有複本:

注意

與相同帳戶全域資料表不同,多帳戶全域資料表不允許對這些設定進行每個區域覆寫。唯一的例外是,允許覆寫讀取自動擴展政策 (資料表和 GSIs),因為它們是單獨的外部資源。

  • 容量模式 (佈建容量或隨需)

  • 資料表佈建的讀取和寫入容量

  • 資料表讀取和寫入自動擴展

  • 本機次要索引 (LSI) 定義

  • 全域次要索引 (GSI) 定義

  • GSI 佈建的讀取和寫入容量

  • GSI 讀取和寫入自動擴展

  • MREC 模式中的 Streams 定義

  • 存留時間 (TTL)

  • 暖輸送量

  • 隨需最大讀取和寫入輸送量

非同步設定

下列設定不會在複本之間同步,且必須針對每個區域中的每個複本資料表獨立設定。

  • 資料表類別

  • 伺服器端加密 (SSE) 類型

  • 伺服器端加密 (SSE) KMS 金鑰 ID

  • 刪除保護

  • Kinesis Data Streams (KDSD)

  • Tags (標籤)

  • 資源政策

  • 資料表 Cloudwatch-Contributor Insights (CCI)

  • GSI Cloudwatch-Contributor Insights (CCI)

監控

如果全域資料表已設定多區域最終一致性 (MREC),其會將 ReplicationLatency 指標發布至 CloudWatch。假設某個項目寫入複本資料表,此指標可追蹤該項目出現在全域資料表中其他複本時經過的時間。ReplicationLatency 會以毫秒表示,並會針對全域資料表中每對來源及目的地區域對發送。

典型ReplicationLatency值取決於所選 AWS 區域之間的距離,以及其他變數,例如工作負載類型和輸送量。例如,相較於非洲 (開普敦) (af-south-1) 區域,美國西部 (加利佛尼亞北部) (us-west-1) 區域的來源複本到美國西部 (奧勒岡) (us-west-2) 區域的 ReplicationLatency 較低。

ReplicationLatency 值上升可能表示,某個複本的更新未及時傳播到其他複本資料表。在這種情況下,您可以暫時將應用程式的讀取和寫入活動重新導向至不同的 AWS 區域。

處理多帳戶全域資料表中的複寫延遲問題

如果由於客戶在複本資料表上引發的問題而ReplicationLatency超過 3 小時,DynamoDB 會傳送通知,要求客戶解決基礎問題。可能阻止複寫的常見客戶引發問題包括:

  • 從複本資料表的資源政策中移除必要的許可

  • 選擇退出託管多帳戶全域資料表複本的 AWS 區域

  • 拒絕解密資料所需的資料表 AWS KMS 金鑰許可

DynamoDB 會在複寫延遲升高的 3 小時內傳送初始通知,然後在 20 小時後傳送第二次通知,如果問題仍未解決。如果未在所需的時段內修正問題,DynamoDB 會自動取消複本與全域資料表的關聯。受影響的複本接著會轉換為區域資料表。