我在 AWS 中有一個使用 terraform 創建的 postgres RDS 實體。
resource "aws_db_instance" "..." {
...
}
現在我正在嘗試通過添加來加密該實體
resource "aws_db_instance" "..." {
...
storage_encrypted = true
}
但是當我運行時terraform plan,它說它將強制更換
# aws_db_instance.... must be replaced
...
~ storage_encrypted = false -> true # forces replacement
我該怎么做才能防止 terraform 替換我的資料庫實體?
uj5u.com熱心網友回復:
Terraform 在這里沒有錯。在最初創建 RDS 實體后,您根本無法更改其加密設定。您可以/需要創建當前資料庫的快照,復制并加密快照,然后從該快照恢復:https : //aws.amazon.com/premiumsupport/knowledge-center/update-encryption-key-rds/
這將導致資料庫停機。terraform 不會自動為您執行此操作,您需要手動執行此操作。資料庫恢復后,terraform 不應再嘗試替換資料庫,因為預期的配置現在與實際配置相匹配。
從技術上講,您可以使用ignore_changes該storage_encrypted屬性,但當然這會導致 terraform 簡單地忽略任何存盤加密更改。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/346014.html
上一篇:如果我洗掉將專案移動到Glacier的S3生命周期規則,它是否會立即將所有Glacier專案移出Glacier?
下一篇:CDK管道分支策略
