피드로 돌아가기
Building an (Actually) Serverless Private Terraform Registry on AWS
Dev.toDev.to
Infrastructure

월 $0.50 미만 비용의 Serverless Private Terraform Registry 구축

Building an (Actually) Serverless Private Terraform Registry on AWS

Sebastiano Caccaro2026년 4월 20일7intermediate

Context

기존 HCP Terraform의 고비용 구조와 Git/S3 기반 배포의 Versioning 미지원 및 느린 init 속도 문제를 해결해야 하는 상황. 관리 오버헤드를 최소화하면서 Terraform Module Registry Protocol을 준수하는 경량화된 전용 레지스트리 필요성 증대.

Technical Solution

  • API Gateway와 Lambda를 조합한 Serverless API 구조 채택으로 유휴 비용 제거
  • S3 Prefix 기반의 Key 컨벤션을 활용하여 별도 DB 없이 Module Version 목록을 동적으로 추출하는 무상태(Stateless) 설계
  • Lambda가 직접 파일을 스트리밍하지 않고 S3 Presigned URL을 X-Terraform-Get 헤더에 담아 반환하는 Indirection 방식 도입으로 Lambda 실행 시간 단축 및 데이터 전송 비용 최적화
  • Cognito 대신 DynamoDB 기반의 단순 Token 인증 체계를 구축하여 소규모 팀에 최적화된 최소 유지보수 구조 구현
  • 특정 모듈 버전을 강제하는 Module Pinning 기능과 Proxy Mode를 통한 거버넌스 제어 계층 추가

Impact

  • 유휴 상태 시 월 예상 비용 $0.50 미만(Secrets Manager 비용 기준) 달성
  • 소규모 팀 기준(일 수백 건의 init 호출) 월 $5 미만의 운영 비용 유지

1. 대용량 파일 전달 시 API Gateway를 거치지 않는 Presigned URL 기반의 Direct Download 구조 검토

2. 복잡한 인증 솔루션(Cognito 등) 도입 전 서비스 규모에 맞는 최소 기능 기반의 Token 인증 체계 고려

3. 정적 파일의 계층 구조(S3 Prefix)를 데이터베이스의 인덱스로 활용하여 인프라 복잡도 감소 시도

원문 읽기