这个问题不是 如何导入,也不是 tfstate 的目的。这就是导入预先存在的资源的目的,尤其是。与仅引用现有资源的 ID 相比?
Terraform具有terraform import
. HashiCorp 将其目的描述为:
Terraform 能够导入现有的基础设施。这允许您获取通过其他方式创建的资源并将其置于 Terraform 管理之下。
这是将基础架构缓慢过渡到 Terraform 的好方法,或者如果 Terraform 可能不支持您今天需要的所有功能,那么您可以确信您将来可以使用它。
我阅读了有关 Terraform state 目的的文章。.tfstate
当这些文件映射回文件中的配置时,使用文件跟踪 Terraform 状态对我来说确实有意义.tf
。
但是我仍然不清楚独立.tfstate
文件的目的是什么,它只映射到一个空的资源块。如果还没有 terraform 中的资源,我通常会做以下两件事之一:
- 将资源放入 terraform,手动拆除资源并使用 terraform 重新部署资源,或者...
- 保持资源未模板化,将其资源 ID 作为参数引用,并通过依赖它的 terraform 管理资源的数据元素获取其元数据。
- 是
terraform import
这两种方法的替代方案吗?如果是这样,你为什么要使用这种方法?
更改导入资源的唯一方法(文件中只有一个空的资源块, .tfstate 中有.tf
详细的状态.tfstate) is to make manual changes and then re-import into
,对吧?如果是这样,那么在 terraform 中跟踪该资源的状态有什么意义呢?
我敢肯定有充分的理由。只是想更深入地了解这一点!谢谢!