- 로컬 개발 및 CI/CD 테스트에서 실제 AWS 없이도 빠르게 호환 환경을 구성 가능
- 단일 바이너리로 가볍게 테스트 환경을 꾸밀수 있고, Docker 기반 실행도 가능
- 인증 없이 동작해 자동화 파이프라인에서 AWS 자격 증명 준비 부담을 줄일 수 있음
- 76개 AWS 서비스를 폭넓게 지원하며 S3, SQS, DynamoDB, Lambda, IAM, CloudWatch, ECS, RDS 같은 주요 영역을 함께 다룰 수 있음
- 기본적으로
localhost:4566에서 동작하는 로컬 AWS 호환 엔드포인트
KUMO_DATA_DIR 설정 시 서비스별 JSON 파일로 선택적인 데이터 보존이 가능하고, 미설정 시에는 깨끗한 인메모리로 실행
- 모든 요청을 구조화된 로그 필드와 함께 기록함
- INFO: HTTP 메서드, 경로, 상태 코드, 지연 시간, 요청 ID, API 대상 정보 등
- DEBUG: 전체 요청 본문까지 기록해 요청 페이로드 자체를 살펴봐야 하는 디버깅 작업에 유용
/kumo/ 아래에 추가 테스트용 엔드포인트를 제공
- AWS 공식 API의 일부는 아니지만, 테스트 중 애플리케이션 동작을 검증하는 데 유용함
-
SES v2 전송 메일 조회
GET /kumo/ses/v2/sent-emails를 통해 SES v2 SendEmail API로 전송된 이메일 목록을 조회
- 응답: MessageId, 발신 주소, 수신자, 제목, 본문, 전송 시각 등이 포함됨
-
Pinpoint SMS Voice v2 전송 메시지 조회
GET /kumo/pinpointsmsvoicev2/sent-messages를 통해 SendTextMessage API로 발송된 SMS 목록을 조회할 수 있음
- 응답: MessageId, 수신 전화번호, 발신 식별자, 메시지 본문, 전송 시각 등 포함
- 이메일·문자 발송 기능을 테스트할 때 외부 서비스 의존 없이 결과 검증을 수행하는 데 특히 유용
- MIT License
지원 서비스
- 총 76개 AWS 서비스를 지원
-
스토리지
- S3, S3 Control, S3 Tables, DynamoDB, ElastiCache, MemoryDB, Glacier, EBS 지원임
-
컴퓨트
- Lambda, Batch, EC2, Elastic Beanstalk 지원임
-
컨테이너
-
데이터베이스
- RDS, Neptune, Redshift 지원임
-
메시징 및 통합
- SQS, SNS, EventBridge, Kinesis, Firehose, MQ, Pipes, MSK 지원임
-
보안 및 ID
- IAM, KMS, Secrets Manager, ACM, Cognito, Security Lake, STS, Macie 지원임
-
모니터링 및 로깅
- CloudWatch, CloudWatch Logs, X-Ray, CloudTrail 지원임
-
네트워킹 및 콘텐츠 전송
- CloudFront, Global Accelerator, API Gateway, Route 53, Route 53 Resolver, ELBv2, App Mesh, Location 지원임
-
애플리케이션 통합
- Step Functions, AppSync, SES v2, Pinpoint SMS Voice v2, Scheduler, Amplify 지원임
-
관리 및 구성
- SSM, Config, CloudFormation, Organizations, Service Quotas, CodeConnections, Backup 지원임
-
분석 및 ML
- Athena, Glue, Comprehend, Rekognition, SageMaker, Forecast, Data Exchange, Entity Resolution 지원임
-
개발자 도구
- CodeGuru Profiler, CodeGuru Reviewer 지원임
-
기타 서비스
- Cost Explorer, DLM, Directory Service, EMR Serverless, FinSpace, GameLift, Resilience Hub 지원임
사용 예제
-
S3
- S3 클라이언트에서
BaseEndpoint를 http://localhost:4566으로 설정하고 UsePathStyle을 활성화해 로컬 에뮬레이터에 연결하는 방식임
- 버킷 생성 후 객체 업로드까지 이어지는 흐름을 통해 오브젝트 스토리지 테스트를 실제 AWS 없이 재현 가능함
-
SQS
- SQS 클라이언트도 같은 로컬 엔드포인트를 사용하며, 큐 생성 후 메시지 전송과 수신을 수행하는 흐름임
- 비동기 메시징 로직을 로컬 통합 테스트에서 검증하기 적합함
-
DynamoDB
- 테이블 생성, 키 스키마 정의, 아이템 저장 과정을 통해 NoSQL 워크플로를 재현할 수 있음
- 실제 클라우드 자원 없이도 애플리케이션의 데이터 접근 로직을 점검하기 쉬움
-
Secrets Manager
- 비밀 값 생성과 조회 예시가 포함돼 있어 시크릿 저장소 연동도 테스트 가능함
- JSON 형태의 민감 정보를 로컬에서 다루는 애플리케이션 검증에 유용함