簡體   English   中英

如何從 CDK/CloudFormation 重新創建手動刪除的資源

[英]How to recreate manually deleted resources from the CDK/CloudFormation

我有兩個 CDK/Cfn 堆棧,它們使用 SSL 證書實例化應用程序負載平衡器。 我正在使用 DNS 驗證,CDK 通過創建一個請求並驗證證書的 Lambda function 來管理。

不幸的是,那些 Lambda 函數被手動刪除,現在當我嘗試更新我的 CDK 資源時,CloudFormation 嘗試替換這些 Lambdas 但失敗了,因為它們不再存在。

我希望 CloudFormation 的行為類似於 Terraform 並且只是說“哦,我需要更換的東西不在那里,nbd 我無論如何都需要更換它,所以讓我們繼續”但它沒有。

不知道如何擺脫困境。 任何幫助表示贊賞。

解決此偏差的最簡單方法是重新部署您的 CDK 應用程序,並暫時刪除已刪除的資源(例如,注釋掉)。 CloudFormation 將“刪除”已刪除的資源,使模板重新與已部署的配置同步。 然后將資源添加回您的應用程序並再次部署。 問題解決了。

你的情況有點復雜。 缺少的 Lambda function 正在由更高級別的 CDK 構造間接構造。 刪除 L2/L3 父級將破壞比 Lambda 更多的資源。如果你想避免這種附帶損害,你可以使用逃生艙口語法和node.tryRemoveChild方法通過手術僅刪除丟失的 Lambda。

您必須它們導回 CloudFormation。 在 TF 中也是一樣,你也將資源導入到 TF 中。

暫無
暫無

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

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