목록 보기
인프랩 IaC 구축기 (Part 1)
데브옵스

인프랩 IaC 구축기 (Part 1)

인프런
인프런
2024년 2월 1일

두줄요약

인프랩의 IaC가 AWS CDK·Terraform·Terragrunt를 거쳐 Pulumi로 전환한 배경을 정리했습니다. TypeScript, 테스트, IDE 지원을 기반으로 운영 가능한 IaC 환경을 구축했습니다.

문제 상황

  • 인프라 구성 증가와 조직 분화에 따른 수동 관리 방식의 한계
  • 재구축 용이성, 정책 검증, 구성 실수 자동 확인을 목표로 한 IaC 환경 필요

원인 분석

  • AWS CDK의 CloudFormation 계층으로 인한 Drift 탐지·해결 신뢰성 문제
  • Terraform HCL의 제한적인 IDE 지원, 조건문 가독성 저하, 확장 어려움
  • Terragrunt 의존성·캐시·실행 출력 복잡도와 Terratest 통합 테스트 중심의 한계

해결 방법

  • TypeScript 기반 Pulumi로 전환해 범용 언어 생태계와 IDE 자동 완성·타입 힌팅 활용
  • Pulumi Mock 기반 단위 테스트와 테스트 픽스처 기반 통합 테스트 구성
  • Automation API, Nx, AWS S3 State, Secrets Manager 캐싱, Slack 실행 알림 적용

선택 이유

  • 일반 프로그래밍 방식의 코드 추상화와 패키지·테스트 도구 활용 가능성
  • IaC 외부 리소스 Import와 요구사항별 확장 구현 용이성
  • TypeScript 제네릭을 통한 전 영역 타입 힌팅과 향후 개선 지속성 기대

다음 읽기

#IaC 주제를 이어서 읽기

AWS CDK에서 Terraform으로

AWS CDK의 문서·커뮤니티 한계와 CloudFormation 기반 상태 추적 문제를 분석했습니다. 실제 인프라와의 차이를 직접 확인하기 위해 Terraform으로 전환했습니다.

인프런
인프런
데브옵스

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...