【发布时间】:2020-10-15 04:57:30
【问题描述】:
我有一个由 3 个嵌套堆栈组成的 CloudFormation 堆栈:
Resources:
ParamsSetup:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: a-params.yaml
ResourcePrep:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: b-prep.yaml
Services:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: c-service.yaml
我意识到 ResourcePrep 嵌套堆栈是不必要的,因此我将该堆栈中唯一重要的资源移到了 Services 堆栈中,并从我的主模板中删除了该堆栈:
Resources:
ParamsSetup:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: a-params.yaml
Services:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: c-service.yaml
现在我有一个问题。 CloudFormation 更新失败,因为 Services 中的资源已经属于 ResourcePrep,但 ResourcePrep 不应再存在。
我曾预计 CloudFormation 会足够聪明地删除已删除的堆栈,但事实并非如此。删除的堆栈仍然存在,我不知道如何摆脱它。我读到的所有内容都说您永远不应该手动删除嵌套堆栈。
【问题讨论】:
-
你能把资源从
Services移回ResourcePrep吗? -
我可以,但关键是我不再需要
ResourcePrep堆栈了。我想摆脱它。 -
是的,但首先您可以尝试让您的堆栈处于可管理状态。然后就可以正常删除修改了。
标签: amazon-web-services amazon-cloudformation