피드로 돌아가기
What landed in MiniStack between 1.2.0 and 1.3.30
Dev.toDev.to
Infrastructure

JVM 제거 및 단일 바이너리 구조로 1초 미만 기동을 실현한 AWS 에뮬레이터

What landed in MiniStack between 1.2.0 and 1.3.30

Nahuel Nucera2026년 5월 7일6intermediate

Context

기존 LocalStack의 JVM 기반 구조와 유료 모델로 인한 무거운 실행 환경 및 비용 제약 존재. 로컬 및 CI 환경에서 즉각적인 피드백 루프를 확보하기 위한 경량화된 AWS 에뮬레이션 필요성 대두.

Technical Solution

  • RIE 기반 Docker Executor 도입을 통한 Lambda 런타임 격리 및 웜 스타트 유지 구조 설계
  • k3s 컨테이너 기반의 EKS 구현으로 실제 Kubernetes API 계약 준수 및 Docker 미사용 시 Stub 엔드포인트 전환 처리
  • AccountScopedDict 도입을 통한 멀티테넌시 데이터 누수 방지 및 계정별 논리적 격리 보장
  • EventBridge용 제로 디펜던시 파서를 통한 복잡한 cron() 구문 해석 및 자동 실행 로직 구현
  • Step Functions의 서비스별 Dispatch Table 구성을 통한 Query, JSON, REST-XML 프로토콜별 통합 인터페이스 제공
  • In-memory Ring Buffer 구조의 CloudTrail 구현으로 오버헤드 최소화 및 감사 로그 기능 제공

1. 멀티테넌트 시스템 설계 시 공유 딕셔너리 대신 전용 Wrapper 클래스(예: AccountScopedDict)를 사용하여 데이터 유출 방지

2. 외부 의존성이 높은 스케줄러 구현 시 전용 파서를 개발하여 런타임 의존성을 제거하고 일관된 구문 해석 보장

3. CI/CD 파이프라인 최적화를 위해 실제 인프라 대신 API 계약을 준수하는 경량 에뮬레이터 도입 검토

원문 읽기