Tutorials DevOps & Cloud Architect Mastery
Terraform State Management: S3 backends and State locks
On this page
Managing Terraform State
The State File (terraform.tfstate) is the memory of your infrastructure. It maps your code to real-world cloud resources. If you lose this file, Terraform "forgets" your infrastructure exists. Managing it correctly is the difference between a Junior and a Senior DevOps engineer.
1. Remote Backends
Never keep your state file on your laptop. If two people run Terraform at the same time, the state will be corrupted. Always use a Remote Backend like AWS S3 (+ DynamoDB for locking) or Azure Blob Storage.
2. State Locking
When you start a terraform apply, Terraform "Locks" the state. This prevents anyone else from making changes until you are finished. This is mandatory for large teams working on the same shared infrastructure.
4. Interview Mastery
Q: "What happens if you delete the state file manually?"
Architect Answer: "The cloud resources will continue to run, but Terraform will think the world is empty. If you run `terraform apply`, it will try to create everything from scratch, leading to 'Already exists' errors or duplicate resources. You would have to manually **Import** every single resource back into the state file, which is a painful and time-consuming process. State files should be backed up with versioning enabled."