-
[T102 4주차] (1)테라폼 state테라폼(Terraform) 스터디 2023. 7. 30. 01:56
cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 3주차 정리입니다.
STATE 란?
- 테라폼은 Stateful(상태가 있는)한 어플리캐이션이다.
- 그러므로 STATE란 프로비저닝 결과에 따른 State를 저장하고 프로비저닝한 모든 내용을 JSON 형태로 저장하고 추적하는 는 것.
- terrafrom apply 명령을 실행하면 이전에 생성된 리소스와 비교해 생성됨
- terraform apply → State를 사용해서 이전에 생성된 리소스와 비교해 생성, 수정, 삭제 동작이 수행
STATE 역할
- State에는 테라폼 구성가 실제를 동기화하고 각 리소스에 고유한 아이디(리소스 주소)로 매핑
- 리소스 종속성과 같은 메타데이터를 저장하고 추적
- 테라폼 구성으로 프로비저닝된 결과를 캐싱하는 역할을 수행
● 실습
-main.tf 파일 생성
resource "random_password" "mypw" {
length = 16
special = true
override_special = "!#$%"
}-실행
#
$ terraform init && terraform plan
$ ls *.tfstate
#
$ terraform apply -auto-approve
$ terraform state list
$ terraform state show random_password.mypw
# terraform apply 후 .tfstate 파일이 생성됨
$ ls *.tfstate
$ cat terraform.tfstate | jq
$ cat terraform.tfstate | jq | grep result
# (참고) sensitive value 내용은 테라폼 콘솔에서 보일까요? => 민감한 정보는 보이지 않음
echo "random_password.mypw" | terraform console
echo "random_password.mypw.result" | terraform console
'테라폼(Terraform) 스터디' 카테고리의 다른 글
[T102 6주차] 협업(Git) (0) 2023.08.11 [T102 4주차] (2)테라폼 모듈(Module) (0) 2023.07.30 [T102 3주차] (1) 테라폼 프로비저너 (0) 2023.07.22 [T102 2주차] (2) 테라폼의 기본 문법(스터디 실습 (VPC + 보안그룹 + EC2 배포) (0) 2023.07.15 [T102 2주차] (1) 테라폼의 기본 문법(리소스, 변수) (0) 2023.07.15