DevOps팀의 Terraform 모험
이규원 컬리 · 컬리 기술 블로그
AI 핵심 요약
서비스와 스테이지·QA 환경이 늘면서 반복 작업과 실수가 잦아지자, 컬리 DevOps팀은 우선 비운영 환경에 Terraform을 도입하고 운영 환경 확장을 염두에 둔 모듈·환경 코드 구조를 설계했다. 태그는 `locals`와 `merge`로 재사용하고, Launch Template의 선택적 EBS 설정은 `dynamic` block과 객체 타입 변수로 표현해 환경 코드의 반복을 줄였다. 처음에는 환경을 생성하는 자동화에 집중했지만, tfstate가 실제 인프라와 코드의 동기화 및 리소스 메타데이터를 관리한다는 점을 놓친 설계를 재검토해 상태 파일을 별도 S3 버킷에서 관리하고 DevOps팀이 코드와 상태를 우선 관리하기로 했다. 적용 과정에서는 리소스 의존성과 순환 참조, 수동 변경 후 코드 동기화, plan 검증 없는 병합이 주요 위험으로 드러났으며, Terraform 도입에는 코드 작성뿐 아니라 상태 관리와 팀의 리뷰·운영 원칙이 함께 필요하다는 교훈을 얻었다.
- Terraform 도입 전에는 반복되는 환경 생성과 운영으로 인한 실수, 관리 복잡도를 구체적인 문제로 정의한다.
- 모듈 코드는 재사용 가능한 리소스 구성을, 환경 코드는 환경별 설정을 담당하도록 역할을 나눈다.
- 반복되는 태그는 `locals`와 `merge`로 묶고, 선택적 중첩 설정은 `dynamic` block과 객체 타입 변수로 표현할 수 있다.
- tfstate는 단순한 결과 파일이 아니라 실제 리소스와 코드의 동기화 및 의존성 정보를 관리하므로 원격 저장소와 접근 정책을 신중히 설계한다.
- `terraform plan` 결과를 코드 리뷰와 배포 전에 확인하고, 리소스 의존성과 수동 변경 후 코드 동기화 방식을 팀에서 합의한다.
소개
사실은 낭만이 아닌 헬이었다
비슷한 학습 자료
컨퍼런스 NDC
● 설문조사: https://forms.gle/TQYXnccrhoT3WVpc7 ↓ 아래를 펼쳐, 세션 상세정보를 확인하세요! ● 발표분야: 프로그래밍 ● 발표자: 클로버게임즈 김희도 ● 권장 대상: 서버프로그래머, 시스템엔지니어, Devops, SRE ● 키워드: #Devops #Infrastructure as Code #Terraform 본 NDC 발표 동영상(이하 “저작물”이라 합니다)에 대한 저작권 (2차적저작물작성권 및 편집저작물작성권 포함)은 해당 저작물의 저작자(발표자 포함) 또는 (주)넥슨코리아 (이하 “권리자”라 합니다)에게 귀속되며, 권리자의 허락 없이 이를 상업적으로 이용하거나 무단으로 도용, 편집, 2차적저작물을 작성, 공중송신, 배포할 수 없습니다.
데브옵스 · 인프라
컨퍼런스 엔지니어링데이 2025
Terraform을 활용한 네이버 클라우드 플랫폼 IaC(Infrastructure as Code) 적용하기
컨퍼런스 엔지니어링데이 2025
- 네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY(4월)에서 발표되었던 세션을 공개합니다. ----- [발표 내용] NAVER Cloud Platform Service Overview - Cloud Platform & Service Overview - Cloud Service Map Overview - SaaS solution on NAVER Cloud Platform Overview & Concept of Terraform - Position of Terraform in IaC - Basic Concept of Terraform - Key Workflow of Terraform - Key Commands of Terraform(init/plan/apply/import) - Terraform Extra Keywords(backend/output) Implementation of NAVER Cloud Platform IaC(with NC...
데브옵스 · 인프라 클라우드
컨퍼런스 엔지니어링데이 2025
Awesome Terraform Overview HCL Deep Dive & Terraform Expansion
컨퍼런스 엔지니어링데이 2025
- 네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY(7월)에서 발표되었던 세션을 공개합니다. ----- [발표 내용] Up & Running Terraform - Position of Terraform in IaC - Basic Concept of Terraform - Key Workflow of Terraform - Key Commands of Terraform(init/plan/apply/import) - Terraform Extra Keywords(backend/output) HCL(Hashicorp Configuration Language) Deep Dive - Overview of HCL(Hashicorp Configuration Language) - Terraform Elements & Expressions - Terraform Functions - Execute External Program with Terraform Expan...
데브옵스 · 인프라
문서 김동석
유연하고 안전하게 배포 Pipeline 운영하기
문서 딜리버리프로덕트 김태훈