全域資料表的最佳實務 - Amazon DynamoDB

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

全域資料表的最佳實務

下列各節說明部署和使用全域資料表的最佳實務。

版本

DynamoDB 全域資料表有兩種版本可用:2019.11.21 版 (目前) 和 2017.11.29 版 (舊版)。您應該盡可能使用 2019.11.21 版 (目前)。

刪除保護

您應該在想要保護免於意外刪除的全域資料表複本上啟用刪除保護。您必須在每個複本上啟用刪除保護。

使用 AWS CloudFormation

AWS CloudFormation 目前不支援跨堆疊協調多區域資源,例如全域資料表。如果您在單獨的區域堆疊中定義全域資料表的每個複本,則在執行複本更新時,由於偵測到跨堆疊的偏離而發生錯誤。若要避免此問題,您應該選擇一個區域做為部署全域資料表的參考區域,並在該區域的堆疊中定義所有全域資料表的複本。

重要

您無法透過在模板中變更資源類型,將類型為 AWS::DynamoDB::Table 的資源轉換為類型為 AWS::DynamoDB::GlobalTable 的資源。嘗試透過變更其 CloudFormation 資源類型將單一區域資料表轉換為全域資料表,可能會導致 DynamoDB 資料表遭到刪除。

您可以使用 AWS::DynamoDB::GlobalTable 資源在單一區域中建立資料表。此資料表將如同任何其他單一區域資料表一樣進行部署。如果您稍後更新堆疊以將其他區域新增至資源,則會將複本新增至資料表,並安全地轉換為全域資料表。

如果您有要轉換為AWS::DynamoDB::GlobalTable資源的現有AWS::DynamoDB::Table資源,轉換資源類型的建議步驟為:

  1. 設定要保留的AWS::DynamoDB::Table刪除政策。

  2. 從堆疊定義中移除資料表。

  3. 將複本新增至 AWS 主控台中的單一區域資料表,並將其轉換為全域資料表。

  4. 將新的全域資料表作為新AWS::DynamoDB::GlobalTable資源匯入堆疊。

備份和Point-in-Time復原

為全域資料表中的一個複本啟用自動備份和Point-in-Time復原 (PITR) 可能足以滿足您的災難復原目標。使用 AWS備份建立的複本備份可以自動跨區域複寫,以獲得更高的彈性。在選擇備份和 PITR 啟用策略時,在多區域高可用性的環境中考慮您的災難復原計劃目標。

多區域高可用性的設計

如需部署全域資料表的規範指引,請參閱 DynamoDB 全域資料表設計的最佳實務