Terraform 개요 — 인프라를 코드로 다루기

Terraform 개요 — 인프라를 코드로 다루기

인프라를 만들 때 콘솔에서 클릭으로 서버를 띄우는 대신, 코드로 정의하면 어떤 일이 생길까요? 가장 큰 변화는 "무엇을 어떻게 만들었는지"가 전부 기록으로 남는다는 거예요. Terraform은 바로 그렇게 인프라를 코드(Infrastructure as Code)로 안전하고 효율적으로 만들고, 바꾸고, 버전을 관리하게 해 주는 도구입니다.

다루는 대상도 넓어요. 컴퓨팅 인스턴스, 스토리지, 네트워크 같은 저수준 구성부터 DNS 레코드, SaaS 기능 같은 고수준 구성까지 Terraform으로 선언하고 관리할 수 있어요. 여러 클라우드나 도구에 같은 코드를 적용해, 한 번 정의한 구성을 어디서든 재현할 수 있는 게 핵심 장점이에요.

출처: What is Terraform — Terraform 공식 문서

인프라 코드의 흐름

Terraform을 쓰는 일은 크게 세 단계로 떨어져요. 먼저 **구성 언어(Configuration Language)**로 원하는 인프라를 선언하고, 그 코드를 기준으로 리소스를 만들며, 반복되는 구성은 모듈로 묶어 재사용해요. 마지막으로 Terraform은 실제로 만든 인프라를 상태(State) 파일에 기록하고, 항상 코드와 비교해 맞춰 나가요.

이 흐름 덕분에 사람이 기억하지 않아도 현재 인프라가 코드와 일치하는지, 무엇이 달라졌는지를 Terraform이 계산해 줍니다. 배포가 늘어나도 똑같은 코드로 안정적으로 반복할 수 있어요.

어디서 시작할까

처음이라면 공식 문서의 구성 언어 페이지에서 HCL 기본 문법을 익히고, 리소스 블록으로 첫 인프라를 만들어 보는 걸 권해요. 한 번 만들어 보면 "코드 = 인프라, 그리고 Terraform이 그 둘을 맞춘다"는 그림이 바로 그려져요. 이 위키에서도 아래 하위 문서가 그 단계를 순서대로 다룹니다.

더 알아보기