本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
全域資料表的最佳實務
下列各節說明部署和使用全域資料表的最佳實務。
版本
DynamoDB 全域資料表有兩種版本可用:2019.11.21 版 (目前版本) 和 2017.11.29 版 (舊版)。您應該盡可能使用 2019.11.21 版 (目前版本)。
刪除保護
若要避免意外刪除全域資料表複本,您應該為其啟用刪除保護。您必須為每個複本啟用刪除保護。
使用 AWS CloudFormation
CloudFormation 目前不支援跨堆疊協調多區域資源,例如全域資料表。如果您在個別區域堆疊中定義全域資料表的每個複本,則在執行複本更新時會因偵測到跨堆疊的偏離而發生錯誤。若要避免此問題,您應該選擇一個區域作為部署全域資料表的參考區域,並在該區域堆疊中定義所有全域資料表複本。
重要
您無法透過在模板中變更資源類型,將類型為 AWS::DynamoDB::Table 的資源轉換為類型為 AWS::DynamoDB::GlobalTable 的資源。若您變更單一區域資料表的 CloudFormation 資源類型,試圖將其轉換為全域資料表,可能會導致 DynamoDB 資料表遭到刪除。
您可以使用 AWS::DynamoDB::GlobalTable 資源,在單一區域中建立資料表。此資料表部署方式與其他單一區域資料表類似。如果您稍後更新堆疊,將其他區域新增至資源,即可將複本新增至資料表,並安全地將其轉換為全域資料表。
如果您的現有 AWS::DynamoDB::Table 資源要轉換為 AWS::DynamoDB::GlobalTable 資源,建議的資源類型轉換步驟如下:
-
設定要保留的
AWS::DynamoDB::Table刪除政策。 -
從堆疊定義中移除資料表。
-
在 AWS 主控台中,將複本新增至單一區域資料表,並將其轉換為全域資料表。
-
將新的全域資料表作為新
AWS::DynamoDB::GlobalTable資源匯入堆疊。
備份和時間點復原
為全域資料表中的一個複本,啟用自動備份和時間點復原 (PITR),可能得以滿足您的災難復原目標。使用 AWS-Backup 建立的複本備份可以自動跨區域複寫,以獲得更高的彈性。在選擇備份和 PITR 啟用策略時,請以多區域高可用性環境來考量災難復原計劃目標。
多區域高可用性的設計
如需部署全域資料表的方案指引,請參閱 DynamoDB 全域資料表設計的最佳實務。