위키득계정 ↗
기술

Terraform

Terraform기술
주요 분야
코드형 인프라
설정 방식
선언적 목표 상태
기본 흐름
작성과 계획 및 적용
외부 서비스 연계
공급자 플러그인
Terraform은 클라우드와 자체 운영 환경의 인프라를 설정 파일로 정의하고 관리하는 도구다. 목표 상태와 현재 자원의 차이로 변경 계획을 만들고 공급자 플러그인을 통해 각 서비스의 API에 작업을 요청한다.

설정 파일로 표현하는 자원

컴퓨팅과 저장소 및 네트워크 자원뿐 아니라 DNS 항목과 서비스의 설정도 관리할 수 있다. 설정은 목표 상태를 나타내며 버전 관리하고 공유 및 재사용할 수 있다. 공급자가 각 플랫폼의 API와 Terraform 사이를 연결한다.

계획과 적용의 분리

현재 인프라와 설정을 비교해 생성과 변경 및 삭제할 자원의 실행 계획을 만든다. 계획을 적용할 때는 자원 사이의 의존 관계를 고려해 작업 순서를 정한다. 실제 변경에 앞서 어떤 작업이 필요한지 검토할 수 있는 구조다.

상태와 재사용 단위

상태 파일은 관리 중인 실제 자원을 추적하는 데 쓰이며 다음 변경을 판단하는 기준이 된다. 모듈은 관련된 자원 설정을 재사용 가능한 묶음으로 정의한다. 자원 상태와 설정 및 의존 관계를 함께 이용해 인프라 수명 주기를 다룬다.

관련 문서

Ansible / Flux GitOps / Argo CD / Consul / API / 클라우드 컴퓨팅