Terraform State
- terraform으로 생성한 resource들의 정보 및 환경 설정값
Terraform Backend
- terraform state가 저장되는 장소
- local에서는 terraform.tfstate에 저장되는데 환경 설정값을 통해, 기존 인프라에서 apply를 여러번 해도 변경된 인프라가 기존 인프라를 교체한다는 것을 알 수 있음 (같은 인프라를 새로 만들지 않음)
- 협업을 하는 경우, 각자 local로 terraform code를 가져와 작업하고 push 하는 경우, 인프라가 동일함을 알 수 없어 충돌이 일어나거나 같은 인프라를 다시 만들 수 있음
- 위 협업 문제를 해결하기 위해 Remote Backend에서는 locking이 필요함
- 대표적인 Remote Backend로 Terraform Cloud가 있음
* locking
- update하는 동안 다른 사용자가 update를 수행할 수 없게 하는 기능
- OS의 semaphore와 비슷함
출처
https://www.terraform.io/language/state/remote
https://www.hashicorp.com/blog/using-terraform-cloud-remote-state-management
'IT > Devops' 카테고리의 다른 글
[Terraform] Module 기본 구조 (0) | 2022.03.16 |
---|---|
HCL이란 (0) | 2022.03.15 |
[Terraform] windows에서 Terraform Cloud 사용 순서 (0) | 2022.03.14 |
Devops Roadmap (0) | 2022.02.27 |
Devops의 업무 (0) | 2022.02.26 |
댓글