State가 하는 일
Terraform은 코드로 작성한 설정과 실제 클라우드 리소스를 매핑하기 위해 State 파일(기본적으로 terraform.tfstate)에 리소스 ID, 속성, 의존관계 등의 메타데이터를 기록합니다. State가 없으면 Terraform은 어떤 코드가 어떤 실제 리소스에 대응하는지 알 수 없습니다.
로컬 State의 문제점
State 파일을 로컬에만 두면 팀원마다 다른 State를 보게 되어 동시에 apply할 때 충돌이나 리소스 중복 생성이 발생할 수 있고, 파일을 실수로 삭제하면 기존 리소스를 다시 추적할 방법이 없어집니다.
원격 백엔드와 잠금(Locking)
이런 문제를 막기 위해 S3, Azure Blob Storage, HCP Terraform 같은 원격 백엔드에 State를 저장하고 팀 전체가 공유하도록 구성하는 것이 표준 관행입니다. 대부분의 원격 백엔드는 apply 중 잠금(Lock)을 걸어, 다른 사람이 동시에 같은 State를 수정하지 못하도록 막아줍니다.