Skip to main content
mid
intermediate
Terraform

Terraform State Management

Question

What is Terraform state, why is it important, and how do you manage state in a team environment?

Answer

Terraform state is a JSON file that maps real-world resources to your configuration. It tracks metadata, improves performance, and enables collaboration. For teams, use remote backends (S3, GCS, Terraform Cloud) with state locking to prevent concurrent modifications. Never commit state to version control as it may contain secrets.

Why This Matters

State is the source of truth for what Terraform has created. Without it, Terraform cannot know which resources it manages or their current configuration. Proper state management is critical for team collaboration and preventing infrastructure drift.

Code Examples

S3 backend configuration

hcl

Common state commands

bash
Common Mistakes
  • Committing terraform.tfstate to Git, exposing sensitive data
  • Not using state locking, leading to concurrent modification issues
  • Running terraform apply from multiple machines simultaneously
Follow-up Questions
Interviewers often ask these as follow-up questions
  • How do you handle state file corruption or conflicts?
  • What is state locking and why is it important?
  • How do you migrate from local state to a remote backend?
Tags
terraform
iac
state
infrastructure
devops