我正在编写我的第一个 CF 堆栈,当然,我在第一次尝试时遇到了失败的部署,因为我还不完全了解语法和可用参数。我正在通过 CLI 验证我的 json 和模板本身,但它仍然可能在部署时遇到问题并导致回滚或失败。现在,当它是一个全新的堆栈而不是更新时,部署就会失败并且我无法更新它,我必须完全销毁堆栈并重新部署它全新的。
我想知道如何解决这个问题。即使删除的堆栈不在控制台中,CLI 仍会列出之前创建和销毁的所有堆栈,但它并不干净。在修复导致堆栈失败的问题后,我当然无法更新堆栈,因为它处于失败状态,我必须重新部署所有内容,就好像它是一个全新的堆栈一样。
对此有什么想法吗?你是如何开始创建你的第一个堆栈的?
您对堆栈的第一次“创建”需要成功,否则必须将其删除。以后的更新可能会失败并回滚,而无需删除堆栈。我倾向于在控制台中删除,但您当然可以使用“aws cloudformation delete-stack”。
我懒得在 CLI 中列出堆栈,我只是使用控制台,所以我不知道它显示什么。删除堆栈后,您可以再次创建它。您可以使用命令检测该状态
对您而言,关键可能是部署一个您知道将要部署的简单堆栈,然后再添加复杂性。您可以通过注释掉除要部署的一个资源之外的所有内容来做到这一点,您可以从 AWS 示例中复制和粘贴该资源。Visual Studio Code 使用“Control - Shift - /”组合注释/取消注释大块使这变得容易。
您应该考虑使用 YAML 格式的 CloudFormation,我发现它更容易。