terraform stacks migrate prepare-manifest 명령

terraform stacks migrate prepare-manifest 명령

terraform stacks migrate prepare-manifest 명령은 HCP Terraform 워크스페이스에서 Stack으로 마이그레이션하기 위한 마이그레이트 매니페스트(migrate manifest)를 생성하는 명령이에요. 워크스페이스 여러 개를 한 번에 준비해서 Stack으로 이전하는 첫 단계로 사용해요.

출처: 문서

본문

실험적 기능: terraform stacks migrate 명령 그룹은 실험적이며 기본적으로 비활성화되어 있어요. 이 명령들을 활성화하려면 TF_STACKS_MIGRATE_EXPERIMENTAL=true를 설정해야 해요. 프로덕션 리소스에는 이 명령들을 사용하지 마세요.

사용법 (Usage)

$ TF_STACKS_MIGRATE_EXPERIMENTAL=true terraform stacks <global-stacks-flags> migrate prepare-manifest <options> <workspace-id>...

설명 (Description)

terraform stacks migrate prepare-manifest 명령은 하나 이상의 HCP Terraform 워크스페이스를 읽고, 각 워크스페이스가 마이그레이션에 준비되었는지 확인한 뒤, 각 워크스페이스의 Terraform 상태 파일을 내려받고 마이그레이트 매니페스트를 작성해요.

각 워크스페이스 ID는 매니페스트의 배포(deployment) 항목이 돼요. 이 명령은 워크스페이스 이름을 배포 이름으로 사용하고, 워크스페이스 상태를 매니페스트 위치 기준 ./tfstates/<workspace-name>.tfstate에 작성해요. 또한 마이그레이션 워크플로가 기대하는 소스 구성(source configuration), Stack 구성, 번역된 상태 출력 디렉터리도 생성해요.

엔드투엔드 마이그레이션 워크플로는 Migrate HCP Terraform workspaces to Terraform Stacks 문서를 참고해 주세요.

이 명령을 사용하려면 HCP Terraform 워크스페이스 변수와 상태 버전을 읽을 권한이 있는 사용자로 로컬 Terraform CLI가 HCP Terraform에 인증되어 있어야 해요.

이 명령은 워크스페이스 변수를 배포 입력값(deployment inputs)으로 복사해요. 민감하지 않은 변수 값은 매니페스트에 보존해요. HCP Terraform은 API에서 민감한 변수 값을 반환하지 않기 때문에, 매니페스트는 값을 제외한 민감한 메타데이터만 기록해요. 또한 TF_VAR_ 접두사로 시작하는 환경 변수는 TF_VAR_ 접두사를 제거해서 Terraform 입력 변수로 변환해요.

명령 인자 (Command arguments)

  • workspace-id: 마이그레이션에 포함할 하나 이상의 HCP Terraform 워크스페이스 ID. 공백으로 구분함.
    • 필수 값이에요.
    • 문자열(string) 타입.

옵션 (Options)

  • -migrate-manifest: 명령이 마이그레이트 매니페스트를 작성할 경로.
    • 선택 사항.
    • 문자열.
    • 기본값: migrate-manifest.json.
  • -source-config: 매니페스트가 전통적인 Terraform 소스 구성으로 참조하는 디렉터리.
    • 선택 사항.
    • 문자열.
    • 기본값: ./source-config.
  • -stack-config: 매니페스트가 번역된 Terraform Stacks 구성으로 참조하는 디렉터리.
    • 선택 사항.
    • 문자열.
    • 기본값: ./stack-config.
  • -json: 기본적인 사람이 읽기 좋은 텍스트 형식 대신 진행 이벤트와 성공 메시지를 JSON 형식으로 출력함.
    • 선택 사항.
    • Boolean 플래그.
    • 기본값: false.

예시 (Examples)

다음 명령은 두 개의 HCP Terraform 워크스페이스에 대한 마이그레이트 매니페스트를 준비해요.

$ TF_STACKS_MIGRATE_EXPERIMENTAL=true terraform stacks migrate prepare-manifest \
  ws-abc123 ws-def456

다음 명령은 매니페스트와 생성된 디렉터리를 ./migration 디렉터리에 작성해요.

$ TF_STACKS_MIGRATE_EXPERIMENTAL=true terraform stacks migrate prepare-manifest \
  -migrate-manifest=./migration/migrate-manifest.json \
  -source-config=./source-config \
  -stack-config=./stack-config \
  ws-abc123

다음 명령은 진행 이벤트를 JSON 형식으로 반환해요.

$ TF_STACKS_MIGRATE_EXPERIMENTAL=true terraform stacks migrate prepare-manifest \
  -json \
  ws-abc123

전역 플래그 (Global flags)

모든 명령에서 공통으로 사용할 수 있는 플래그에 대한 정보는 Global flags reference 문서를 참고해 주세요.

더 알아보기 (Learn more)

  • HCP Terraform 워크스페이스를 Terraform Stacks로 마이그레이션하기
  • terraform stacks migrate 명령
  • terraform stacks migrate validate-manifest 명령
  • Terraform Stacks CLI 참조 문서