【问题标题】:Terraform Remote State using incorrect fileTerraform 远程状态使用不正确的文件
【发布时间】:2019-07-29 05:10:12
【问题描述】:

我们通过 Terragrunt 使用带有 S3 后端的 Terraform。最近,有人尝试使用 Terraform 工作区,随后删除了工作区,而不是我们的远程状态无法找到任何处于正确状态文件中的输出。

在查看调试日志时,我可以看到它似乎指向正确的文件,但它没有拾取任何已部署的基础架构或输出

【问题讨论】:

  • 您没有在 S3 存储桶上启用版本控制,以便将您的状态恢复到原来的状态?
  • 另外,请确保您在本地备份和删除所有 terraform 文件,以便新的下载状态是被拾取的状态。

标签: terraform terraform-provider-aws terragrunt


【解决方案1】:

Terraform 工作区和 terragrunt 使用不同的后端密钥路径。如果您使用terragrunt 运行,则 s3 存储桶默认启用版本控制。

例如使用terraform workspace,将创建真正的*.tfstate文件到

s3://<nominated_backend_bucket>/env:/<workspace_name>/<tfstate_path>

但是 terragrunt 会将 tfstate 路径创建为

s3://<nominated_backup_bucket>/<source_code_directory>/<tfstate_path>

所以在大多数情况下,他们不会有任何冲突的机会。

我建议清理您的环境并再次运行terragrunt plan/apply。还有一些其他问题比您在原始问题中描述的要多,需要您自己找出。

【讨论】:

  • 谢谢,我会试试你的建议
猜你喜欢
  • 2021-12-11
  • 2020-09-29
  • 2016-11-24
  • 2018-12-14
  • 2020-09-05
  • 2017-06-23
  • 2016-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多