AWS 계정 없이 내 컴퓨터에서 돌리는 AWS 공식 에뮬레이터

AWS Emulator는 AWS가 직접 내놓은 로컬 에뮬레이터예요. 클라우드에 요청을 보내지 않고 내 컴퓨터나 CI에서 AWS API를 흉내 내 테스트할 수 있어요.

주요 기술적 특징

  • 계정도 요금도 필요 없는 로컬 AWS: 에뮬레이터(진짜 서비스를 흉내 내는 프로그램)가 AWS API 주소를 대신 열어 줘요. 요청은 AWS가 아니라 에뮬레이터로 가고, 가짜 자원을 다루게 돼요. AWS 계정이 없어도 되고 별도 요금도 없어요. 화면은 없고 명령줄로만 움직여요.
  • 두 가지 실행 방식: 서버 모드에서는 환경 변수만 바꿔 AWS CLI나 각 언어의 SDK가 에뮬레이터를 보게 해요. Linux는 설치 패키지로, Windows·macOS는 Docker 컨테이너로 돌려요. 임베디드 모드는 Rust 테스트 안에 에뮬레이터를 통째로 넣어, 테스트마다 서로 분리된 인스턴스를 띄워요.
  • 서비스 정의서에서 출발한 구조: AWS 서비스 하나마다 Rust 모듈 하나를 두고, 각 모듈은 Smithy(AWS가 API를 기술하는 명세 언어) 모델로 통신 형식을 만들어요. 릴리스마다 서비스별로 실제 AWS와 얼마나 비슷한지 점수를 공개하고, 아직 안 되는 동작을 따로 목록으로 관리해요.
  • 명확한 용도 제한: 개발과 테스트용이에요. 운영 환경이나 보안 테스트에는 쓰지 말라고 못 박았어요. 사용 통계 수집이 기본으로 켜져 있지만 옵션·환경 변수·설정 파일로 끌 수 있어요.
  • 라이선스: 본체는 CC0-1.0(사실상 저작권 포기)이고, vendor 폴더의 코드만 Apache 2.0이에요. 외부 기여(풀 리퀘스트)는 받지 않아요.

개발자들의 반응

  • 호환성 부족 경험담: 한 개발자는 MiniStack에서 잘 돌던 코드가 이 에뮬레이터에선 안 됐다고 전했어요. Step Functions의 일부 필드와 Lambda의 Python 코드가 제대로 지원되지 않아 테스트가 멈췄다고 해요.
  • 무거운 빌드: 소스 빌드에 100GB 디스크가 필요하다는 점에 놀랐다는 반응이 많았어요. 메모리 32GB로는 병렬 작업 수를 낮춰야 컴파일된다는 경험담도 나왔어요. 반대로 macOS에서 직접 빌드되도록 고친 사용자도 있었어요.
  • 테스트 도구로서의 빈틈: 프로세스를 다시 시작하는 것 말고는 상태를 빠르게 초기화할 방법이 없어 보인다는 지적이 있었어요. 테스트마다 상태를 지워야 하는 moto 대체로는 아직 어렵다는 의견이에요. 서버를 띄우는 요청을 보내도 실제 가상 머신이 돌지는 않는다는 한계도 언급됐어요.
  • 보안 정책 미지원 아쉬움: 보안 문서상 에뮬레이터는 자기 키로 서명된 요청을 거부하지 않고, S3 버킷 정책이나 KMS 키 정책도 검사하지 않아요. 권한 설정을 로컬에서 시험하고 싶던 개발자들은 아쉬워했어요.
  • 신뢰와 지속성: Smithy 명세를 따랐으니 잘 안 쓰는 필드까지 다룰 수 있다는 기대가 있었어요. 반면 AI 에이전트가 대부분의 코드를 썼다는 점, 기본으로 켜진 사용 통계, 장기 유지 여부를 두고 우려도 컸어요.

기술적 의미와 한계

AWS를 쓰는 팀이 로컬과 CI에서 실제 클라우드 없이 통합 테스트를 돌리려 할 때 쓸모가 있어요. 특히 Rust로 개발한다면 테스트 안에 에뮬레이터를 넣는 임베디드 모드가 눈에 띄는 차별점으로 보여요.

다만 쓰기 전에 알아 둘 점이 있어요. 권한·보안 동작은 실제 AWS와 다르게 움직여요. 서비스마다 재현 정도가 달라서 공개된 점수와 미지원 목록을 먼저 확인해야 해요. 최신 릴리스(v1.0.337)도 DynamoDB가 엉뚱한 항목을 돌려주는 문제를 고치는 등 수정이 계속 이어지고 있어요. 저장소가 2026년 9월에 만들어진 만큼, 꾸준히 관리될지는 아직 지켜봐야 할 부분이에요.

저장소

https://github.com/aws/aws-emulator

Comments

Trends

중국산 배지 표고버섯 563t 국내산 둔갑, 업체 5곳 적발
삼양식품, 베트남 박닌성에 공장 짓는다…2,186억 원 투…
미국 관제 통신 장애로 전국 이륙 중단, 인천발 미주 노…
올림픽공원 핸드볼경기장 점거, 자진 철거 기한 11월 19…
한화오션 RSU 지급 소송, 3차 변론 뒤에도 결론 없이 내…
1GB 메모리 TV 박스·옛 아이패드에서 160억 매개변수 언…
구독료 없이 자수기를 돌리는 무료 편집기 ZigZag
AWS 계정 없이 내 컴퓨터에서 돌리는 AWS 공식 에뮬레이…
Rust 1.100.0, never 타입과 사용자 지정 메모리 할당기…