AWS CDK Bootstrap 本身坏了

AWS CDK Bootstrap itself broken

几个月前我玩过 AWS CDK,所以我当然做了 cdk bootstrap

那时候我就不玩了,我想我再也不会用它了。在这种事情上有一种整洁的态度(并且缺少 cdk 本身提供的撤消或删除选项:/)我从我的帐户中删除了所有 cdk 对象。

或者至少我是这么认为的,因为现在(又开始玩弄了),调用 cdk bootstrap 没有任何作用:

环境 aws://xxxxxxxxx/eu-central-1 自举(无变化)。

但是尝试 cdk deploy 给了我:

fail: No bucket named 'cdk-XXXXXXXXXXX-eu-central-1'. Is account XXXXXXXXXXXX bootstrapped?

嗯是的...我现在没有任何水桶。

有没有办法 cdk bootstrap --force 我想念的?是否有我应该删除的所有对象的列表?我找到了很多针对堆栈问题的人的建议,但我不知道如何解决这个问题。

编辑:我刚刚“解决”了这个问题,方法是创建一个具有给定神秘名称的存储桶...但这感觉不对。所以我让这个问题悬而未决,看看是否有更好的方法。

Bootstrapping 创建一个名为 CDKToolkit 的堆栈,其中包含 CDK 需要部署的 CloudFormation 资源。你可以安全地“uninstall-reinstall”它:

aws cloudformation delete-stack --stack-name CDKToolkit

cdk bootstrap

注意:“漂移”是您的问题的技术术语。实际 AWS 资源状态“偏离”了 CDKToolkit CloudFormation 模板中定义的预期状态。 CloudFormation 有 tools to deal with the drift problem。您可以报告漂移,例如:

aws cloudformation detect-stack-drift --stack-name CDKToolkit