1

我有幾個CloudFormation堆棧是由同一個模板構成的,每個模板包含幾個DynamoDB表。我最近需要對DynamoDB表的LSI進行更改。當更新堆棧的數據庫中沒有任何數據的堆棧環境時,這很好,但是當我開始更新我們的共享開發堆棧時,我會遇到問題。 LSI只能在創建表時創建,所以當堆棧更改LSI時,必須刪除並創建全新的資源,這會刪除當前表中的所有數據。AWS CloudFormation:是否有可能更新堆棧以重新創建數據庫資源而不會丟失數據

我們的共享開發環境已經包含了一些用於演示和測試的數據,我寧願不必中斷這些。有什麼方法可以在我更新堆棧時從不同版本的數據庫複製數據?我不介意有點手動的過程,比如在更新之後導出所有的數據和導入,但是過多的數據要手動輸入每個項目。如果我不得不清除數據,那麼這不是世界末日,只是想知道是否有任何工作要做。

回答

1

DynamoDB導入/導出功能可以使用管理控制檯來實現此目的。

的DynamoDB導入/導出功能使用AWS數據管道EMR簇從DynamoDB移動數據至S3,並且反之亦然。

AWS Data Pipeline上有一個默認模板可用於執行此活動。

完成操作(導出/導入)後,可以釋放資源。這種自動調整廣告,它只是管理AWS資源,而不是數據在他們

AWS DynamoDB Import and Export Blog

DDB Import

DDB Export

2

CloudFormation不會照顧。

但是,有些解決方案允許您將數據從DynamoDB導出到S3並將其導回。例如,下面的兩個環節表現如何呢,使用AWS數據管道:

+0

這似乎只是導入和導出相當複雜的!讓我懷疑是否有人提供了一些有用的工具來使這更容易? –

+0

AWS最近推出了一個更簡單的DynamoDB「按需備份」服務,您可以從CLI或通過Web控制檯調用該服務。比以前推薦的數據管道流程備份DynamoDB表更容易使用。 https://aws.amazon.com/dynamodb/backup-restore/ – Alan

相關問題