본문 바로가기

Terraform

[Terraform] HCP Terraform(Terraform Cloud)의 Project & Workspace

반응형

2024년 4월 22일부터 Terraform Cloud의 이름이 HCP Terraform으로 변경되었습니다.

하기 내용에서는 Terraform Cloud 이름 대신 HCP Terraform 이름으로 대체하여 설명을 진행하도록 하겠습니다.

 

 

1. HCP Terraform의 Project & Workspace

 

  • Project
    • HCP Terraform의 Project를 통해 사용자는 작업공간(workspace)의 특정 하위 집합을 격리하고 단일 조직 내에서 권한을 정의 가능가 가능합니다.
  • Workspaces
    • Workspace는 Terraform이 실행되는 독립적인 작업공간을 의미합니다.
    • 설정된 backend에 workspace에 state 저장하고 하나의 state는 하나의 workspace로 관리됩니다.
    • HCP Terraform은 자체적은 backend 제공합니다.
      • Terraform OSS의 경우 기본적으로 local에 state를 저장하거나 backend를 AWS의 경우 S3에 저장하게끔 설정하게 되는데, HCP Terraform의 경우 기본적으로 자체 backend에 state를 저장하게 됩니다.

 

 

2. Project & Workspace 생성

  • HCP Terraform 의 특정 Organization에 접속하면 다음과 같이 왼쪽 탭을 통해 Project, Workspace들을 확인할 수 있습니다.

 

 

2-1) Project 생성

  • 왼쪽 탭의 Project를 클릭 --> New project를 클릭하여 새로운 Project를 생성합니다.

 

  • Project 생성 확인

 

 

 

2-2) Workspace 생성

  • 왼쪽 탭에서 Project를 선택하고 Workspace를 생성할 Project를 클릭합니다.

 

 

  • 오른쪽 상단의 New 버튼 --> Workspace 를 클릭합니다.

 

 

  • Workspace 생성 시 기존에 연동해놓은 VCS 선택을 위해 Version Control Workflow를 선택합니다.

 

 

  • Connect to VCS에서는 사전에 등록한 VCS Provider를 클릭합니다.
  • 사전에 등록한 VCS가 아닌 새로운 VCS의 Repository를 선택하고 싶은 경우 'Connect to a different VCS'를 클릭하여 새로운 VCS를 연동하여 Workspace를 생성할 수 있습니다.

 

 

  • Choose a repository에서는 Workspace에 연동할 Repository를 선택합니다.

 

 

  • Configure Settings
    • Workspace의 이름과 Description을 작성합니다.
    • Workspace Settings
      • Terraform Working Directory: Terraform이 apply될 디렉토리의 경로(위치)를 의미합니다.
    • VCS Triggers
      • HCP Terraform은 Workspace에 VCS를 연동해놓으면 VCS에 내용이 업데이트될 경우 Trigger를 발생해 연동되어 있는 Workspace의 동작여부를 결정할 수 있습니다.
      • Always trigger runs: 연동되어 있는 Repository에 변화가 있으면 모든 변화에 대해 Trigger가 발생해 동작하게 됩니다.
      • Only trigger runs when files in specified paths change: 지정된 경로의 파일이 변경되는 경우에만 Trigger가 실행됩니다.
  • Terrafom 이 동작(Apply) 될 디렉토리 경로의 위치가 루트라면 Workspace의 이름과 Description 내용만 입력 후 하단의 Create 버튼을 클릭합니다.

 

 

  • 생성된 Workspace를 확인 후 오른쪽 상단의 New run을 클릭하여 Terraform을 실행합니다.
    • Run Type 설정을 통해 Plan만 동작하게 할 것인지, Plan & Apply를 동작하게 할것인지 등을 선택하여 실행할 수 있습니다.

 

  • Plan and Apply (standard)로 Run을 실행하였다면 다음과 같이 Workspace 동작을 확인할 수 있습니다.

반응형