我们正在通过Terragrunt将Terraform与S3后端一起使用。最近,有人尝试使用Terraform工作空间,然后删除了该工作空间,不是我们的远程状态找不到正确状态文件中的任何输出。
在查看调试日志时,我可以看到它看起来指向正确的文件,但是它没有选择任何已部署的基础架构或输出
答案 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
。除了原始问题中描述的问题以外,还有其他一些问题,您需要自己找出答案。