[英]Do not delete existing resources when destroying a stack in AWS-CDK
使用 aws-cdk 時,通常必須將現有資源導入堆棧。 當我們“銷毀”堆棧時,我們理所當然地認為我們導入的現有資源不會與其他所有資源一起被刪除。
是否可以在銷毀過程中明確不銷毀資源?
導入的資源實際上不會成為新堆棧的一部分(即它們不會是生成的 CloudFormation 中的資源)。 因此,如果您只關心這些資源,則無需擔心。
如果您想確保在刪除堆棧時不會刪除堆棧中的某些內容,您可以在資源上調用applyRemovalPolicy(RemovalPolicy.RETAIN)
。
Jason Wadsworth 在applyRemovalPolicy()
上面給出了一個很好的答案。
您可以在資源級別和堆棧級別應用策略。
您還可以注意為您的用戶(可能包括您用於 cdk 的 API 用戶)設置適當的 IAM 策略,以便他們即使想要刪除您的受保護資源也無法刪除。
您可能需要查看 aws-cli 支持的--enable-termination-protection
標志。
最后,一種確保給定資源不會被無意刪除且需要最少的 aws 知識 + cdk 經驗的廉價且簡單的方法是簡單地定義 cdk 之外的資源,例如通過控制台、aws-cli 等。
開始時,這可能有助於讓您或同事放心,例如,如果存在大量外部依賴項和考慮因素(例如白名單和第三方防火牆規則),您或同事不會意外將 EIP 之類的東西返回到 Amazon 的池中綁在它上面。
歡迎來到 StackOverflow,不要忘記“接受”您認為可以為您的問題提供最佳解決方案的答案:)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.