개요

kumo는 Go로 작성된 경량 AWS 서비스 에뮬레이터입니다.

  • 실제 AWS 없이 로컬 개발과 CI/CD 테스트 가능
  • 단일 바이너리 또는 Docker로 실행 가능
  • 기본 엔드포인트는 localhost:4566
  • 인증 없이 동작해 자동화 파이프라인에서 자격 증명 준비 부담을 줄임

한 줄 요약

“kumo는 LocalStack류의 더 가벼운 AWS 호환 테스트 환경을 단일 바이너리로 빠르게 띄우는 도구다.”


왜 중요한가

  • 로컬에서 AWS 연동 코드를 빠르게 검증 가능
  • CI에서 실제 클라우드 자원 없이 통합 테스트 가능
  • 자격 증명 없이도 동작해 테스트 셋업이 단순
  • 인메모리 또는 JSON 파일 기반 데이터 보존 선택 가능

특징

실행과 상태

  • 단일 바이너리 실행
  • Docker 기반 실행 가능
  • KUMO_DATA_DIR 설정 시 서비스별 JSON 파일로 데이터 보존
  • 미설정 시 깨끗한 인메모리 환경

로깅

  • 모든 요청을 구조화 로그로 기록
  • INFO: 메서드, 경로, 상태 코드, 지연 시간, 요청 ID
  • DEBUG: 요청 본문까지 포함

테스트 보조 엔드포인트

/kumo/ 아래에 AWS 공식 API는 아니지만 테스트 검증용 엔드포인트 제공

  • SES v2 전송 메일 조회
  • Pinpoint SMS Voice v2 전송 메시지 조회

이건 이메일/SMS 발송 결과를 외부 서비스 없이 검증할 때 특히 유용합니다.


지원 범위

총 76개 AWS 서비스를 지원하며, 대표적으로 다음이 포함됩니다.

  • 스토리지: S3, DynamoDB, Glacier
  • 컴퓨트: Lambda, EC2, Batch
  • 컨테이너: ECS, ECR, EKS
  • 메시징: SQS, SNS, EventBridge, Kinesis
  • 보안: IAM, KMS, Secrets Manager, STS
  • 모니터링: CloudWatch, CloudWatch Logs, X-Ray
  • 애플리케이션 통합: Step Functions, SES v2, AppSync

의미

kumo의 핵심 가치는 AWS 전체를 완벽히 재현하는 데 있지 않고, 로컬 개발과 CI 테스트에 필요한 만큼의 호환 환경을 아주 낮은 비용으로 제공한다는 점입니다.

즉, 프로덕션 등가 환경이라기보다 빠른 피드백 루프를 위한 로컬 AWS 대역에 가깝습니다.


관련 항목