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을 사용해 배포를 시도할때마다 현재 적용 중인 리소스를 기준으로 삭제/변형/생성되는 리소스의 갯수를 알려주니,
반드시 확인해보고 배포해야할 것 같습니다.
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 사용 중이라 금방 설치했습니다.
구조까지 잡아주는 자동완성이라 불필요한 코드 작성은 줄었다. 하지만,
결국 AWS 콘솔 뜯어가면서 값 찾아서 집어넣었다.
혹시 정리된 문서를 알고 있다면 댓글 부탁드립니다 :)
다음 글은 Terraform에서 사용하는 hcl 문법의 기본적인 사항을 점검할 예정이다.
[Terraform] 리소스 모듈화 - Terraform 가이드 (4) (0) | 2024.07.16 |
---|---|
[Terraform] AWS RDS - Terraform 가이드 (3) (1) | 2024.07.16 |
[Docker] Docker 자주 쓰는 명령어 정리 (0) | 2024.07.14 |
[Docker] Docker 설치, 개념 정리 (1) | 2024.07.14 |
[NestJS] class-validator, class-transformer로 API parameter 제어하기 (2) | 2024.04.19 |