상세 컨텐츠

본문 제목

[Terraform] Terraform 환경 설정 - Terraform 가이드 (1)

Development

by 12기통엔진 2024. 7. 15. 00:21

본문

반응형

 

 

  1. Terraform?
  2. Terraform CLI 설치
  3. VSCode Extension 설치

 

Terraform?


 

 

What is Terraform | Terraform | HashiCorp Developer

Terraform is an infrastructure as code tool that lets you build, change, and version cloud and on-prem resources safely and efficiently.

developer.hashicorp.com

 

코드 베이스 인프라 관리 도구입니다.
AWS, GCP 등 클라우드 컴퓨팅 기반의 인프라 제공 서비스를 코드 작성으로 이용할 수 있도록 도와줍니다.

 

AWS 콘솔 등에서 웹 GUI를 통해 리소스를 생성하면 되는거 아니냐? 라고 생각하실 수 있지만,

1. 깃헙 커밋 등을 통해 리소스가 어떻게 변화해가는지 추적 관찰이 가능하고

2. (AWS 기능을 잘 꿰고 있다면) 쉽고 빠르게 리소스를 변화시키는 것이 가능하다는 장점이 있습니다.

인프라의 유지 보수를 도와주는 역할이라고 생각하면 좋을 것 같습니다.

 

다만 Terraform에서 지원하는 자동화의 부작용으로 의도하지 않았던 동작이 실행될 수 있습니다.

Ex) 인스턴스 일부 기능의 교체를 기대했으나 인스턴스를 삭제/재생성하여 서비스가 일시적으로 중단됨

 

Terraform을 사용해 배포를 시도할때마다 현재 적용 중인 리소스를 기준으로 삭제/변형/생성되는 리소스의 갯수를 알려주니,

반드시 확인해보고 배포해야할 것 같습니다.

 

Terraform CLI 설치


 

 

Install Terraform | Terraform | HashiCorp Developer

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.

developer.hashicorp.com

운영체제 별로 잘 구분해두었으니 맞는 설정에 따라 설치해주시면 됩니다. 저는 MacOS에 Homebrew 사용 중이라 금방 설치했습니다.

 

VSCode Extension 설치


  1. VSCode 실행 중 ⇧ + ⌘ + X 커맨드 입력해 Extensions 기능 열기
  2. Terraform 검색
  3. Hashcorp 사에서 배포한 Terraform Extension 설치

자동완성

구조까지 잡아주는 자동완성이라 불필요한 코드 작성은 줄었다. 하지만, 

  1. key까진 잡아주는데 value 후보를 보여주지 않았으며,
  2. Docs에도 어떤 value가 후보인지 한눈에 정리된 문서를 찾지 못해

결국 AWS 콘솔 뜯어가면서 값 찾아서 집어넣었다.

혹시 정리된 문서를 알고 있다면 댓글 부탁드립니다 :)

 

다음 글은 Terraform에서 사용하는 hcl 문법의 기본적인 사항을 점검할 예정이다.

반응형

관련글 더보기