簡體   English   中英

AWS CloudFormation:是否可以更新堆棧以重新創建數據庫資源而不會丟失數據

[英]AWS CloudFormation: Is it possible to Update Stack to recreate DB resources without data loss

我有幾個CloudFormation Stacks由相同的模板制作,每個包含一些DynamoDB表。 我最近需要對DynamoDB表的LSI進行更改。 當為堆棧環境更新堆棧時,其數據庫中沒有任何數據但這很好,但是當我更新我們的共享開發堆棧時,我會遇到問題。 LSI只能在創建表時創建,因此當堆棧更改LSI時,它必須刪除並創建全新的資源,這將丟棄當前表中的所有數據。

我們的共享開發環境已經包含了一些用於演示和測試的數據,而我不必中斷它。 在更新堆棧時,有什么方法可以從不同版本的數據庫中復制數據嗎? 我不介意有點手動過程,比如導出所有數據並在更新后導入,但是手動輸入每個項目的數據太多。 如果我不得不擦除數據,這不是世界末日,只是想知道是否有任何解決方法。

CloudFormation不會自動處理此問題 - 它只管理AWS資源,而不管理其中的數據。

但是,有一些解決方案允許您將數據從DynamoDB導出到S3並將其導回。 例如,以下兩個鏈接顯示了如何使用AWS Data Pipelines執行此操作:

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

DynamoDB導入/導出功能使用AWS Data PipelineEMR集群將數據從DynamoDB移動到S3,反之亦然。

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

完成操作(導出/導入)后,可以釋放資源。

AWS DynamoDB導入和導出博客

DDB導入

DDB出口

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM