Home
home

01. Terraform 소개

1. Terraform ?

[Caption] Terraform Logo
HashiCorp에서 Go 언어로 개발한 오픈 소스 코드형 인프라스트럭처 입니다.
HCL(HashiCorp Configuration Language) 언어로 인프라 리소스를 선언하고, 선언된 파일을 읽고 실행합니다.
선언적 언어는 구체적인 절차를 기술하는 것이 아닌, 최종적인 상태로 도달하기 위해 정의하는 방식
인프라를 일정한 상태로 유지하기 위해 코드로 정의하여 멱등성(idempotency)을 보장합니다.
멱등성은 여러 번 적용하더라도 결과가 달라지지 않는 성질으로, 테라폼은 코드로 정의된 리소스를 명시된 대로 적용하여 항상 같은 결과를 도출
코드만 보고 인프라 구성을 확인할 수 있고, 변경 사항을 쉽게 파악할 수 있습니다.
코드를 통한 인프라 정의로 재사용 및 공유에 용이합니다.
불변 인프라(immutable infrastructure)를 제공합니다.
불변 인프라는 변경이 이루어지지 않는 인프라로, 테라폼은 새로운 코드가 배포할 때 변경이 아닌 새롭게 이미지를 배포하는 형태로 동작
AWS, Azure, GCP 등의 다양한 클라우드 공급자를 지원합니다.
테라폼에서 제공하는 Providers 링크 https://registry.terraform.io/browse/providers
GIT과 같은 버전 관리 시스템을 통해 인프라 변경 기록을 유지 관리하여 인프라 변경에 따른 버전 관리가 용이합니다.
Ansible, Chef, Puppet, Saltstack과 같은 툴을 활용하여 소프트웨어 설치와 인프라 구성의 자동화 구성할 수 있습니다.

2. Terraform 설치

아래 링크를 통하여 작업용 PC의 OS에 맞게 설치합니다.
설치가 완료되면 terraform version 명령어로 설치된 버전 정보를 확인 (테라폼 버전 1.6.5 기준으로 진행)
terraform version ================= output ================= Terraform v1.6.5 ...
Bash
복사
테라폼 릴리즈 버전 정보 링크