Kumo
Go로 작성된 경량 AWS 서비스 에뮬레이터
About
- 로컬 개발 및 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: 전체 요청 본문까지 기록해 요청 페이로드 자체를 살펴봐야 하는 디버깅 작업에 유용
- 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, 수신 전화번호, 발신 식별자, 메시지 본문, 전송 시각 등 포함
- 이메일·문자 발송 기능을 테스트할 때 외부 서비스 의존 없이 결과 검증을 수행하는 데 특히 유용