本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
全域資料表的最佳實務
下列各節說明部署和使用全域資料表的最佳實務。
版本
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
資源,轉換資源類型的建議步驟為:
-
設定要保留的
AWS::DynamoDB::Table
刪除政策。 -
從堆疊定義中移除資料表。
-
將複本新增至 AWS 主控台中的單一區域資料表,並將其轉換為全域資料表。
-
將新的全域資料表作為新
AWS::DynamoDB::GlobalTable
資源匯入堆疊。
備份和Point-in-Time復原
為全域資料表中的一個複本啟用自動備份和Point-in-Time復原 (PITR) 可能足以滿足您的災難復原目標。使用 AWS備份建立的複本備份可以自動跨區域複寫,以獲得更高的彈性。在選擇備份和 PITR 啟用策略時,在多區域高可用性的環境中考慮您的災難復原計劃目標。
多區域高可用性的設計
如需部署全域資料表的規範指引,請參閱 DynamoDB 全域資料表設計的最佳實務。