피드로 돌아가기
Dev.toInfrastructure
원문 읽기
부팅 속도 83% 개선 및 인증 제거를 통한 AWS 에뮬레이터 전환
Migrating from LocalStack to fakecloud in 10 minutes
AI 요약
Context
LocalStack Community Edition의 폐쇄적 라이선스 변경으로 인한 계정 생성 및 Auth Token 필수화 발생. 기존 오픈소스 기반 CI/CD 파이프라인의 의존성 붕괴와 유료 티어 전환 압박으로 인한 대안 필요성 대두.
Technical Solution
- 동일한 Endpoint URL(http://localhost:4566) 및 Dummy Credentials 유지를 통한 Application Code 수정 제로화 설계
- Single Binary 기반 실행 구조 채택으로 Docker 컨테이너 오버헤드 제거 및 배포 프로세스 단순화
- Lazy Loading 방식의 서비스 활성화 로직을 통한 리소스 최적화 및 SERVICES 환경 변수 의존성 제거
- Docker-in-Docker 또는 Docker Socket 마운트를 통한 Lambda 런타임 실행 환경 구현
- Upstream Hashicorp Terraform Provider 테스트 스위트 검증을 통한 Infrastructure as Code(IaC) 호환성 확보
- 별도의 Test-assertion SDK 제공으로 HTTP API 호출 없는 사이드 이펙트 검증 인터페이스 구축
Impact
- CI 환경 내 부팅 속도 개선: 기존 LocalStack 컨테이너 기준 ~3s에서 fakecloud 실행 시 ~500ms로 단축
- 유료 기능의 오픈소스화: Cognito, SES v2, API Gateway v2, RDS, ElastiCache 등 Pro 전용 서비스 무료 제공
실천 포인트
- LocalStack의 라이선스 정책 변경에 따른 CI 파이프라인의 Auth Token 의존성 제거 검토 - Docker 컨테이너 기반 에뮬레이터의 부팅 병목 발생 시 Single Binary 실행 방식으로의 전환 고려 - 테스트 검증 단계에서 raw HTTP 호출 대신 전용 Assertion SDK 도입을 통한 테스트 코드 가독성 향상