Ssoon
Chapter (05) State - 워크스페이스 본문
CloudNet@ 가시다님이 진행하는 Terraform 101 Study 2기
"테라폼으로 시작하는 IaC" (한빛미디어) 도서로 진행!
✅ Workspace
State 를 관리하는 논리적인 가상 공간
▶ 테라폼 구성파일은 동일 - 서로 다른 State 를 갖는대상을 프로비저닝
- 동일한 구성에서 기존 인프라에 영향을 주지 않으면서 테라폼 프로비저닝 테스트/확인
- 기본 default 로 정의
- 기본 사용법
terraform [global options] workspace
- 사용 중인 workspace 확인
✔ main.tf
- terraform int / terraform apply 실행 ▶ default workspace 에 테라폼 Resource 생성
resource "aws_instance" "web" {
ami = "ami-00d253f3826c44195"
instance_type = "t3.micro"
tags = {
Name = "Ssoon"
}
}
- aws console 확인
- 새로운 workspace 생성
- terraform workspace new <워크스페이스 이름>
- 루트 모듈 디렉터리에 terraform.tfstate.d 디렉터리가 생성 ▶ 하위에 workspace 이름 확인
- 현재 사용중인 workspace 확인
- terraform plan 실행 ▶ 새로 생성된 workspace에서는 기존 default workspace에서 관리하는 State와는 독립적 ▶ Resource 다시 생성 정보 출력
- aws console 확인
- terraform.state.d 의 workspace이름에 새로운 terraform.tfstate 생성
🧿 Plan 과 Apply 단계에서 특정 workspace 의 State 지정
- default workspace 로 전환
- 생성한 workspace (ssoon) 의 State 를 지정해 destroy 실행
terraform destroy -state=terraform.tfstate.d/ssoon/terraform.tfstate
workspace 를 삭제
terraform workspace delete <워크스페이스 이름>
🧿 다수의 workspce 사용 - 장점
- 하나의 루트 모듈에서 다른 환경을 위한 resource 를 동일한 구성으로 프로비저닝 관리
- 기존 프로비저닝 환경에 영향을 주지 않고 변경 사항 실험
- git 의 branch 전략처럼 동일한 구성에서 서로 다른 resource 결과 관리
🧿 다수의 workspce 사용 - 단점
- State 가 동일한 저장소에 저장되어 State 접근 권한 관리 불가능
- 모든 확영이 동일한 resource 를 요구하지 않을 경우 ▶ 구성에 분기 처리가 다수 발생
- 프로비저닝 대상에 대한 인증 요소 분리 어려움
'Terraform 101 Study 2기' 카테고리의 다른 글
Chapter (06) Module - 사용 형식 / 소스 관리 (0) | 2023.07.24 |
---|---|
Chapter (06) Module - 작성 기본 원칙 / 모듈화 (0) | 2023.07.24 |
Chapter (05) State - 목적/의미/동기화 (0) | 2023.07.19 |
Chapter (04) 프로바이더 (0) | 2023.07.17 |
Chapter (03) 기본 사용법 - HCL - 조건식 / 함수 / 프로비저너 (0) | 2023.07.10 |
Comments