실제 프로젝트를 진행하다보면
DEV
,
TEST
,
STAGING
,
PRODUCTION
등
다양한 배포 환경이 필요하다.
docker-compose -f deploy/docker-compose.yml run --rm terraform
위와 같이 명령어를 입력하면
terraform이 제공하는 명령어 목록을 볼 수 있다.
특히, 배포 환경을 지정하는 workspace 명령어를 제공하고 있다.
docker-compose -f deploy/docker-compose.yml run --rm terraform workspace list
terraform workspace list
를 통해
현재 workspace 리스트를 한 눈에 볼 수 있다.
입력 결과,
default 작업환경(workspace)만 있음을 알 수 있다.
docker-compose -f deploy/docker-compose.yml run --rm terraform workspace new dev
현재 MFA 방식의 인증을 사용하고 있고,
(사용 중인 터미널)세션의 credentials 지속시간을 최대시간인 12시간으로 지정했었고, 그 세션이 만료가 된 것이었다.
구글링에선 만족스런 답변을 얻지 못했고,
작업중인 터미널을 다시 종료했고 새로운 터미널에서 세션 토큰을 새로 발급받았다.
aws-vault exec 'iamuser계정명' --duration=12h
아무튼,
dev
workspace가 생성됐다.
이제 다시 workspace list
명령어를 입력해보자.
docker-compose -f deploy/docker-compose.yml run --rm terraform workspace list
이러한 방식으로 다수의 workspace를 생성할 수 있다.
terraform 공식문서: https://www.terraform.io/docs/state/workspaces.html