
아마존웹서비스(AWS)를 쓰는 애플리케이션을 개발할 때 동작을 확인할 때마다 AWS에 S3나 다이나모DB(DynamoDB), 람다(Lambda) 같은 리소스를 만들면 환경 구축과 삭제는 물론 이용 요금까지 관리해야 한다. 미니스택(MiniStack)은 AWS API를 PC에서 재현해 AWS CLI나 테라폼(Terraform) 같은 도구로 60개가 넘는 AWS 서비스를 로컬 환경에서 무료로 쓸 수 있게 해주는 에뮬레이터다. 오픈소스로 공개돼 있고 직접 서버에 설치해 운영할 수도 있다.
◇ 설정 파일 하나로 구축=윈도(Windows)에 도커 데스크톱(Docker Desktop)과 깃 포 윈도(Git for Windows)에 들어 있는 깃 배시(Git Bash), AWS CLI를 갖춘 환경에서 구축해봤다. 작업 폴더에 compose.yml 파일을 만들어 미니스택 이미지를 지정하고 4566번 포트를 연다. 상태와 S3 데이터를 저장하도록 환경변수를 켜고 저장 폴더를 연결해 둔 뒤 컨테이너를 실행하면 구축이 끝난다.
사용할 때는 깃 배시를 열어 AWS CLI용 테스트 인증 정보를 넣는다. 액세스 키와 시크릿 키를 모두 test로 지정하고 기본 리전은 us-east-1로 잡았다. 이어 엔드포인트를 로컬 4566번 포트로 지정해 S3 버킷을 만들고 목록을 조회하자 방금 만든 test-bucket이 표시됐다. 실제 AWS와 똑같은 AWS CLI 명령으로 테스트할 수 있다는 얘기다.
SQS 대기열도 같은 방식으로 만들 수 있다. S3와 SQS를 오갈 때 포트를 바꿀 필요가 없다. 미니스택이 들어온 AWS 요청을 분석해 60여 개 서비스로 알아서 나눠 보내기 때문이다.
◇ RDS에선 실제 데이터베이스 가동=미니스택은 API 응답만 흉내 내는 데 그치지 않는다. RDS에서는 포스트그레SQL(PostgreSQL)과 마이SQL(MySQL), 마리아DB(MariaDB)를, 아마존 일래스티캐시(Amazon ElastiCache)에서는 레디스(Redis)를 실제 소프트웨어 그대로 도커 컨테이너로 띄운다. 실제로 RDS 인스턴스를 만든 뒤 실행 중인 컨테이너를 조회하자 미니스택 본체 옆에 포스트그레SQL 15 컨테이너가 따로 떠 있었다.
RDS API 관리 부분은 미니스택이 처리하고 실제 데이터베이스 작업은 로컬에서 띄운 포스트그레SQL 등이 맡는 구조다. 단순한 API 모의 응답을 넘어 애플리케이션이 실제로 SQL을 보내는 부분까지 로컬에서 확인할 수 있다.
◇ 여러 계정과 리전 재현=미니스택은 12자리 숫자로 된 액세스 키를 AWS 계정 ID로 인식한다. 미니스택 하나 안에 여러 계정 리소스를 분리해 보관할 수 있다. 액세스 키를 111111111111로 바꾸고 호출자 정보를 조회하면 계정이 111111111111로 나오고 222222222222로 바꾸면 그 계정으로 표시됐다.
리전 정보도 분리된다. us-east-1과 eu-west-1에 같은 이름의 SQS 대기열을 만들어도 서로 독립된 리소스로 다룬다. 두 리전에 각각 jobs라는 대기열을 만든 뒤 리전별로 목록을 조회하자 각 리전에서 대기열이 따로 확인됐다. 계정과 리전을 나눠 쓰면 미니스택 하나로 개발자 여러 명이 함께 쓰는 테스트 환경을 꾸릴 수 있다.
◇ 지원 서비스와 한계=미니스택은 S3와 SQS, 다이나모DB, 람다 같은 주요 서비스에 더해 EC2와 ECS, EKS, 클라우드포메이션(CloudFormation), 스텝 펑션(Step Functions), 아마존 베드록(Amazon Bedrock) 등 60개가 넘는 AWS 서비스를 지원한다.
분야별로 보면 핵심 영역에서 S3와 다이나모DB, SQS, SNS, 람다, IAM, STS, Secrets Manager, SSM, 클라우드포메이션을 지원한다. 관측 영역에선 CloudWatch와 CloudWatch Logs, CloudTrail을, 연동·이벤트 영역에선 EventBridge와 EventBridge Scheduler, EventBridge Pipes, 스텝 펑션, IoT, Amazon Location, Amazon MQ를 다룬다. 스트림·분석 영역은 Kinesis와 Firehose, Athena, Glue, EMR, OpenSearch, MSK(Kafka), MediaConnect를, 컴퓨팅·컨테이너 영역은 EC2와 IMDS, ECS, EKS, Batch, Auto Scaling, ALB/ELBv2를 포함한다.
데이터베이스·캐시 영역에선 Aurora DSQL과 RDS, RDS Data API, 일래스티캐시를 지원하고 네트워크·DNS 영역에선 Route53과 CloudFront, CloudFront KeyValueStore, ServiceDiscovery를 지원한다. API·엣지 영역은 API Gateway v1·v2와 AppSync를, 보안·암호 영역은 KMS와 ACM, AWS Signer, WAFv2, WAF Classic, Amazon Inspector를 다룬다. 계정 관리 영역에선 Cognito와 Organizations, Account를 지원한다.
인공지능(AI)·머신러닝 영역에선 베드록과 Bedrock Runtime, Bedrock Agent, Bedrock Agent Runtime, Bedrock AgentCore를 쓸 수 있다. 이 밖에 SES와 EFS, ECR, Transfer Family, Amazon Transcribe, Amazon Translate, S3 Files, S3 Tables, AppConfig, CodeBuild, AWS Config, Cloud Control API, MWAA, Cost & Usage Report, Resource Groups Tagging API, AWS Backup, Resource Groups도 지원 목록에 올라 있다.
다만 미니스택은 AWS 동작을 모두 그대로 재현하는 가상 클라우드가 아니다. VPC 패킷 라우팅이나 DNS 전파처럼 로컬 환경에서는 재현 대상으로 삼지 않은 기능이 있다.
해외 커뮤니티에서는 미니스택을 두고 여러 의견이 오갔다. 비용보다 반복 개발 속도와 CI 환경에서 빠르게 돌릴 수 있다는 점이 더 중요하다는 평가가 나온 반면 다이나모DB 서비스 예외와 입력값 검증, 최종 일관성, 예외 상황을 제대로 재현하지 못한다는 지적도 있었다. 이에 대해 개발자는 미니스택 용도가 올바른 작업을 올바른 데이터로 호출하는지 확인하는 통합 테스트이며 운영 환경과 완전히 같은 동작을 재현하는 게 목적은 아니라고 설명했다. 관련 내용은 이곳에서 확인할 수 있다.
![[DailyRecipe] 막 오른 넥스트라이즈2026…올해 특징은?](https://i0.wp.com/startuprecipe.co.kr/wp-content/uploads/2026/06/260618_nextrise_ai_0023052050235235.jpg?resize=350%2C250&ssl=1)
![[AI서머리] 제주창경, 제주 AX위원회 2회차 세미나 마무리‧상생소비복권, 15일부터 진행](https://i0.wp.com/startuprecipe.co.kr/wp-content/uploads/2026/10/261014_jeju_05023050205235_slimpic.webp?resize=75%2C75&ssl=1)

