[기본 구성 요소] 워크스페이스

2024. 11. 26. 15:21Terraform/[인프런] 아키텍처와 함께하는 Terraform

1. 워크스페이스

- 동일한 Terraform 구성 파일을 사용하면서 서로 다른 state 파일을 관리할 수 있도록 하는 기능이다.
- 워크스페이스를 사용하면 하나의 구성 파일로 개발, 테스트, 운영 환경을 분리하여 관리할 수 있다.

 

 

2. 워크스페이스 주요 특징

- state 파일 분리 : 별도의 state 파일을 생성 및 관리하여 환경 간 충돌 방지한다.
- 기본 워크스페이스 : 기본적으로 default라는 이름의 워크스페이스를 제공한다.
- CLI 명령으로 워크스페이스 관리 : 워크스페이스를 생성, 전환, 삭제할 수 있는 명령어 제공한다.
- 모듈과 변수와의 연계 : 워크스페이스 이름을 변수로 사용하여 환경에 따라 리소스를 동적으로 설정할 수 있다.

 

 

3. 워크스페이스 예제

- 워크스페이스 생성 및 전환 예제 ①
* 기본적으로 default 워크스페이스가 설정되어 있다.
terraform workspace list
# Output:
# * default
* 새로운 워크스페이스 생성
* 생성 후 자동으로 dev 워크스페이스로 전환된다.
terraform workspace new dev
* 워크스페이스 전환
terraform workspace select dev
* 기존 워크스페이스 확인
terraform workspace list
# Output:
# default
# * dev

 

 

4. 워크스페이스 관리 명령어

명령어 설명
terraform workspace list 현재 사용 가능한 워크스페이스 목록 표시
terraform workspace show 현재 활성화된 워크스페이스 이름 표시
terraform workspace new <name> 새 워크스페이스 생성
terraform workspace select <name> 워크스페이스 전환
terraform workspace delete <name> 워크스페이스 삭제 (State 파일은 유지됨)