티스토리 뷰

Terraform 을 운영할 수 있는 OS 는 macOS, Windows, Linux 등이 있지만, 개발자들이 가장 많이 사용하는 macOS 위주로 진행해 보겠다. 다른 운영체제 또한 Terraform 의 공식 홈페이지에 자세한 가이드라인이 나와 있으니 참고해도 좋다.

 

 

본 포스트는 아래 링크의 내용을 기반으로 진행한다.

https://learn.hashicorp.com/tutorials/terraform/install-cli?in=terraform/aws-get-started 

 

Install Terraform | Terraform - HashiCorp Learn

Install Terraform on Mac, Linux, or Windows by downloading the binary or using a package manager (Homebrew or Chocolatey). Then create a Docker container locally by following a quick-start tutorial to check that Terraform installed correctly.

learn.hashicorp.com

 

Terraform 설치하기

다음 명령어를 통해 brew 패키지 관리자에서 hashicorp 저장소를 가리킬 수 있도록 등록한다.

brew tap hashicorp/tap

 

다음으로, 등록한 hashicorp 저장소에서 terraform 을 설치한다.

필자의 경우 이미 설치되어 있어 already installed and up-to-date 으로 표시된다.

brew install hashicorp/tap/terraform

 

설치가 완료되면 다음 명령어를 통해 버전 정보를 확인할 수 있다.

terraform version

 

자동 완성 기능 세팅하기

다음으로, Terraform 명령어를 터미널에서 자동완성되도록 설정하는 법을 알아본다.

zsh 을 사용하는 경우, zshrc 라는 파일을 생성하여, 해당 파일 안에 terraform autocomplete 관련 내용을 추가해 주어야 한다.

 

우선 아래 명령어를 통해 .zshrc 파일을 생성한다.

touch ~/.zshrc

 

파일이 생성되면 (아무 로그도 뜨지 않으면), 아래 명령어를 통해 autocomplete 세팅을 진행한다.

terraform -install-autocomplete

 

이후, cat 명령어를 통해 해당 파일에 테라폼 관련 자동완성 명령이 추가되었는지 확인한다.

cat ~/.zshrc

 

테라폼 캐시 설정하기

테라폼을 통해 많은 워크스페이스를 관리하게 되는데, 각 워크스페이스에서 필요로 하는 Provider, Module 을 다운받게 된다. 이때, 캐시 설정을 하지 않으면 workspace 상의 .terraform 폴더를 생성하여 플러그인 정보를 저장하게 되는데, 워크스페이스가 많아지게 되면 플러그인의 용량이 기하급수적으로 증가하여 환경의 저장공간이 부족해질 수 있다.

 

이때, 플러그인 캐시 (plugin_cache_dir) 를 설정하게 되면 플러그인 캐시 저장 공간을 중앙집중식으로 변경하여, 동일한 플러그인을 한 번만 설치하여 저장 공간을 효율적으로 관리할 수 있다.

 

테라폼은 terraformrc 라는 파일을 이용하여 별도의 환경 설정을 진행할 수 있다.

nvim 의 경우 brew 를 통해 설치할 수 있지만, 반드시 nvim 을 사용할 필요는 없다.

nvim ~/.terraformrc

 

다음 명령어를 통해 테라폼 캐시 폴더를 명시한다.

plugin_cache_dir="$HOME/.terraform.d/plugin-cache"

 

이후, 해당 폴더를 생성하여 해당 폴더 내에 파일이 생기도록 해 준다.

mkdir -p ~/.terraform.d/plugin-cache

'인프라 > Terraform' 카테고리의 다른 글

Terraform 다루어보기 (AWS Provider)  (0) 2022.08.19
Intellij HCL 설정하기  (0) 2022.08.16
Terraform 다루어보기 (local_file)  (0) 2022.08.15
Terraform 소개  (0) 2022.08.12
Terraform 이 무엇인가?  (0) 2022.08.10
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함