MiniStack — 無料のオープンソース ローカルAWSエミュレーター
(ministack.org)- AWS環境をローカルで完全に再現できる無料のオープンソース エミュレーターで、有料化されたLocalStackの代替として開発された
- 34のAWSサービスを単一ポートで実行し、Postgres・Redis・Dockerコンテナを実際に起動して、インフラレベルのテスト環境を提供
- AWS SDK、CLI、Terraform、CDK、Pulumiなどと完全互換で、アカウント登録やテレメトリーなしにMITライセンスで配布される
- 2秒の起動速度、30MBのメモリ使用量、150MBのDockerイメージで、軽量かつ高速なローカル実行が可能
- すべての機能が無料で提供され、LocalStack Proの機能を代替する完全なローカルAWS開発環境を構築できる
MiniStack概要
- MiniStackは、AWS環境をローカルで完全にエミュレーションできる無料のオープンソースツールで、有料化されたLocalStackの代替として設計された
- 34のAWSサービスを単一ポートで実行し、実際のPostgres、Redis、Dockerコンテナを使用する
- アカウント登録、ライセンスキー、リモートテレメトリーなしで動作し、MITライセンスで配布される
- 約2秒の起動時間、30MBのアイドル時メモリ使用量、150MBのDockerイメージサイズを持つ
- LocalStack Community版が有料化された後、無料で同等の開発体験を提供する代替ソリューションとして提示されている
主な機能とサービス
- RDS、ElastiCache、ECSなどは実際のDockerコンテナを起動し、実インフラ環境を提供する
- AthenaはDuckDBを通じて実際のSQLクエリを実行し、インストールされていない場合はモック結果を返す
- AWS SDK互換性を維持しており、boto3、AWS CLI、Terraform、CDK、Pulumiなどと一緒に使用できる
- すべてのサービスが無料で提供され、機能制限や有料プランの区別がない
-
含まれる34のAWSサービス
- S3: バケット、オブジェクト、バージョン管理、暗号化、ライフサイクル、CORS、レプリケーションなどをサポート
- SQS: FIFO、DLQ、バッチ、可視性などのキュー機能をサポート
- SNS: トピック、サブスクリプション、SQSファンアウト、バッチ配信をサポート
- DynamoDB: CRUD、クエリ、スキャン、トランザクション、TTL、GSIをサポート
- Lambda: 実際のPython実行、SQSイベントマッピング、Layersをサポート
- IAM / STS / Secrets Manager / CloudWatch / SSM / EventBridge / Kinesis / SES / Step Functions / API Gateway v1・v2 / Route53 / Cognito / EC2 / EMR / EBS / EFS / ALB / ACM / WAF / CloudFormationなど、ほとんどのAWS中核サービスを含む
- RDSは実際のPostgres/MySQLコンテナを、ElastiCacheは実際のRedis/Memcachedコンテナを起動する
- ECSは実際のDockerコンテナを実行し、GlueとAthenaはデータカタログおよびSQL実行機能を提供する
LocalStackとの比較
- LocalStack Freeでは中核サービスが有料化されたが、MiniStackは同等の機能を無料で提供する
- Lambda、IAM、SSM、EventBridge、EC2、EMR、EBS、EFS、ALB、CloudFormationなど、LocalStack Pro専用機能も無料で含まれる
- RDS、ElastiCache、ECS、Athenaなどは実際のコンテナベースで動作する
- 起動速度約2秒、メモリ使用量30MB、Dockerイメージ150MBで、LocalStackよりはるかに軽量
- ライセンスはLocalStackのBSL/Proprietaryと異なりMITで、価格は完全無料
実インフラベースの動作
- RDS:
CreateDBInstanceコマンド時に実際のPostgres/MySQL Dockerコンテナを作成し、ローカルポートから直接接続できる - ElastiCache:
CreateCacheClusterコマンドで実際のRedisコンテナを実行し、セッションストアなどに活用できる - ECS:
RunTaskコマンドで実際のDockerコンテナを実行し、ローカルでECSタスク定義をテストできる - Athena: DuckDBを通じて実際のSQLクエリを実行し、結果セットを返す
- すべてのAWSツールと完全互換で、APIエンドポイントの変更なしに利用できる
配布と利用
- Dockerコマンド1行で実行可能
docker run -p 4566:4566 nahuelnucera/ministack - AWS CLIを通じてS3、RDS、ElastiCacheなどすべてのサービスにアクセスできる
- 例:
aws --endpoint-url=http://localhost:4566 s3 mb s3://my-bucketaws --endpoint-url=http://localhost:4566 rds create-db-instance --engine postgresaws --endpoint-url=http://localhost:4566 elasticache create-cache-cluster --engine redis
ライセンスと配布情報
- MITライセンスで配布され、自由にフォークや組み込みが可能
- GitHubおよびDocker Hubで公開提供される
- 開発者はNahuelで、プロジェクトは2026年まで維持予定
重要なポイント
- MiniStackはLocalStackの完全無料の代替として、実インフラベースのローカルAWS環境を提供する
- 高速な起動速度、軽いリソース使用量、完全なSDK互換性を特徴とする
- すべての機能が無料、MITライセンス、テレメトリーなし
- ローカル開発およびCI/CD環境で、AWS本番環境と同等のテスト体験を提供するツールである
1件のコメント
Hacker News の意見
私は DynamoDB をよく理解している
だが、このコードはサービス例外、入力検証、eventual consistency、エッジケースを きちんと再現できていない
そのため、ministack をベースに開発やテストを行うのは不安がある
しかも AWS の多くのサービスには無料利用枠があるので、あえてこうした代替品を使う理由はそれほど大きくない
つまり、アプリケーションが正しいデータを正しい API に送っているかを検証するためのもの
DynamoDB の実際の挙動(例: 容量制限、一貫性の遅延、ストリーム処理)が必要な場合の代替ではない
ただし、エラー再現性を高める貢献はいつでも歓迎する
現在
ProvisionedThroughputExceededException,TransactionConflictException,ItemCollectionSizeLimitExceededExceptionなどが対応待ちになっている基本的なテストは ministack で行い、負荷テスト の段階でだけ実際の AWS コストを発生させればよい
LocalStack の ライセンス変更 が不満なので ministack を検討している
急ぐ人は
community-archiveタグで固定すればすぐ解決できるDocker Hub リンク
どんなレプリカプロジェクトでも、LocalStack が失敗した理由を乗り越えるのは難しいと思う
数多くの AWS サービスとの互換性を無料で維持するのは、現実的には不可能に見える
LocalStack はコードベースがひどかったのかもしれないし、コントリビューター管理に失敗したのかもしれない
今は AWS が成熟して変化の速度が遅くなっており、AI が 80% レベルのコード を簡単に作ってくれる
また、LocalStack の値上げによってオープンソース代替を探す開発者層も生まれている
LocalStack のオープンソース版から学べることも多い
ただ、昔の コミュニティ版の中核サービス を最新の状態に保ちたいだけだ
MWAA のような大規模サービスはサポートする予定はない
ほとんどの主要 AWS サービスは API の変更がほとんどないためだ
ローカルで複雑な機能が必要なら、実際の AWS 開発アカウントを使えばいい
LLM と新しいテスト手法をうまく活用すれば、互換サービス群を半自動で作れる気がする
ただ、自分では参加したいとは思わない
Floci も試したが、初期コード特有の問題 があった
LocalStack の本当の問題は ドリフト(drift) だった
ローカルテストは通るのに、ステージングでは S3 のレスポンス形式や DynamoDB の throttling の違いで壊れることが多かった
結局、短時間だけ維持する実際の AWS 環境で統合テストを回す方式に切り替えた
コストは増えたが、本番での 予期しない問題 ははるかに減った
つまり、ローカルで通ったときだけ実際の AWS 統合テストを回すという形だ
LocalStack の ライセンス変更の知らせ を今になって知った
以前は GH Actions で CI/CD テスト用に便利に使っていて、AWS CLI との互換性もかなり良かった
正直、Amazon が LocalStack を買収して公式のローカル開発環境にしてくれればと思っていた
ただ、それでは AWS テスト環境の売上が減るので現実的ではなかっただろう
依然として満足して使っているが、方向性には失望している
短期的な収益確保のための措置でないことを願う
長期的には、無料の代替や GenAI ベースの個人向けソリューション に顧客が流れる可能性が高い
個人的には LocalStack の Pods やコンソール UI には興味がない
コミュニティエディションをなくす条件で VC 投資を受けたのでなければいいのだが
CLI は問題なく動いても、LocalStack のサービスが ドキュメントと異なる動作 をすることが多かった
Claude が作った ASCII ダイアグラム がずれている README を見ると信頼できない
基本的な QC すらされていないプロジェクトなら、機能説明も信じにくい
例のリンク
CHANGELOG リンク
こういう流れだと、AI が作った品質の低いコードが増え続けそうだ
位置合わせすら確認していないなら、なおさら信頼できない
まだ SDLC に導入するには早いが、有望に見えるプロジェクト だ
LocalStack に失望した立場からすると、これが代替になるかもしれない
別の代替案が以前 HN に投稿されていた
関連スレッドのリンク
これはまだ始まって 7 日のプロジェクトだ
LocalStack の代替を切実に求めているが、まだ 成熟度 がかなり足りない
最近のソフトウェアはどれもこんな感じだ ― 派手な Web サイト、大きな主張、AI コード、不十分なテスト
GCP では何が対応するのか気になる
なぜ Amazon はこういうものを作らないのか分からない
みんなにとってずっと楽になるのに
実際のコストシミュレーター 機能があればいいのに