【发布时间】:2019-06-04 23:32:27
【问题描述】:
我正在使用 Terraform 创建 AWS 基础设施,并使用 S3 后端配置。现在的问题是,有人删除了存储状态的 S3 存储桶,现在每次我运行 terraform 都会失败,说资源已经存在。旧的 tfstate 丢失,新的没有关于现有资源的信息。 注意:我没有 AWS 环境的写入权限。我通过 Jenkins CD 管道触发 terraform,因此我无法手动修改基础架构或运行任何 terraform 命令。
有没有办法用 tf 文件清理现有资源或强制重新创建资源(如果它们已经存在)?这是我唯一可以进行更改的地方。
【问题讨论】:
-
也许你有一些 Jenkins 工作要运行破坏?
-
如目标重复问题中所述,您将需要手动清理内容并重建或将所有内容重新导入您的状态文件。将来您应该启用状态文件的版本控制,以便您可以随时返回它,并可能防止使用 MFA Delete 等破坏 S3 存储桶。
-
感谢@ydaetskcoR 提供的信息。我无法清理这些东西,因为我没有权限。我会按照流程完成。
-
如果有人有本地状态,您可以将其复制到新的 s3 buucker 或 terraform import 和 terraform state rm 的组合就可以了。
标签: amazon-web-services terraform