tfstate 파일
- JSON 포맷 형식으로 이뤄져있음
- 테라폼에 의해 관리되는 리소스에 대한 정보를 포함
- 모든 정보가 포함되어 있으며, 리소스를 만들 때마다 state를 저장하고, 그에따라 참조함.
State Tracking
- 상태를 계속해서 확인함
- 리소에 대한 아이디가 저장 됨
Concurrency Management
- 여러명의 유저가 TF State file에 접근할 때 활용되는 기준
- lock 파일을 통해서 한번에 하나의 수정만 적용
Resource Dependency
State Preservation
- 실행할 때마다, 테라폼 어플라이를 하는데 스테이트를 저장하여 각각의 히스토리를 트래킹함
비교 sync
terraform apply 시에 로컬이나, 원격 클라우드 환경에 존재하는 InfraStructure와 tfstate파일을 항상 동기화함
Refrecy False
- terraform plan, apply시에 원격에 존재하는 리소스의 상태를 확인하여 체크를 하게됨
-> 너무 오래걸릴 수도 있음.
terraform plan -refresh=false
옵션을 통해서 원격에 있는 tfstate에 접근하여 상태를 확인하여 비교함.
원격에 있는 상태와 로컬의 tfstate파일이 다르다면 문제가 발생함..
Sync 시 외부 저장소 활용
- s3를 통해서 여러 사용자가 본인을의 로컬 파일을 로드하여 파일 유무 여부를 동기화함.