Terraform State

Terraform 将有关我们基础设施的信息存储在**[tfstate]**中,通常名为**terraform.tfstate**。Terraform 使用状态来确定对我们的基础设施进行哪些更改,例如修改、添加或删除。在应用任何操作之前,Terraform 都会执行刷新操作,以同步当前基础设施的任何资源配置偏差。

在terraform中可以看到两个state文件:terraform.tfstate terraform.tfstate.backup

  • 其中terraform.tfstate是当前状态,执行完terraform apply会生成这个文件,里面存放生成资源的详细信息。

  • 当执行terraform destroy,会生成terraform.tfstate.backup文件,而terraform.tfstate里面内容被清空,转到backup文件中

不要手动修改state文件!会引起跟线上配置不一致的问题

创建资源后,会生成terraform.tfstate,如果手动将其删除会怎样?

  • 如果执行terraform destroy,因为创建资源时的详细信息丢失,所以不能删除之前创建的资源。
  • 如果执行terraform apply,因为详细信息丢失,所以不能更新资源,而是创建新的资源。