Terraform Remote State使用不正确的文件

时间:2019-03-07 10:35:58

标签: terraform terraform-provider-aws terragrunt

我们正在通过Terragrunt将Terraform与S3后端一起使用。最近,有人尝试使用Terraform工作空间,然后删除了该工作空间,不是我们的远程状态找不到正确状态文件中的任何输出。

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

1 个答案:

答案 0 :(得分: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。除了原始问题中描述的问题以外,还有其他一些问题,您需要自己找出答案。