アカウントや認証トークンなしで、AWS互換サービスを手元で実行できる無料のオープンソースAWSエミュレーター。
ministackorg/ministack
60以上のAWSサービスを単一ポートで動かせる、boto3、AWS CLI、Terraform互換の無料オープンソースAWSローカルエミュレーター。
代替できる製品:LocalStack
- スター
- 5,111
- フォーク
- 538
- 未解決の Issue
- 21
- 最終コミット
- 昨日
これは何?
MiniStackは、AWSアカウントなしで、S3、SQS、SNS、DynamoDB、Lambda、IAM、EC2、Step Functionsをはじめとする数十のAWSサービスを、開発者のマシンやCI上で実行できるローカルAWSエミュレーターです。すべてのサービスがデフォルトではポート4566の単一エンドポイントで公開されるため、既存のboto3、AWS CLI、Terraform、CDK、Pulumiの設定はエンドポイントURLを変更するだけで使えます。
中核サービスが有料プランの対象となったLocalStackに代わる無料の選択肢として位置付けられています。1つのエンドポイント上で複数のアカウントとリージョンをサポートしており、12桁のアクセスキーをアカウントIDとして使用し、SigV4のリージョンで状態を分離します。一部のサービスは実際のバックエンドを使用します。たとえば、RDSではPostgresまたはMySQLのコンテナ、ElastiCacheではRedisまたはValkey、ECSタスクではDockerコンテナが使われます。フルイメージではDuckDBを通じてAthenaクエリを実行します。
コンテナにはテスト自動化向けの内部APIがあり、ヘルスチェック、テスト間で状態を消去するリセットエンドポイント、SESメール、SQSメッセージ、SNS SMSメッセージを確認するエンドポイントが用意されています。Pythonで書かれており、MITライセンスで公開されています。
主な機能
- 01S3、SQS、DynamoDB、Lambda、Step Functionsなど、60以上のAWSサービスを単一ポートでエミュレートします。
- 02エンドポイントURLを変更するだけで、boto3、AWS CLI、Terraform、CDK、Pulumiを利用できます。
- 03アクセスキーに基づいてアカウントごと、リージョンごとに状態を分離します。
- 04RDSとElastiCache向けに、実際のPostgres、MySQL、Redis、Valkeyコンテナを実行します。
- 05テストスイートで使えるリセットエンドポイントと確認用エンドポイントを提供します。
ユースケース
- 実際のAWS認証情報を使わずに、CIでAWS依存の統合テストを実行する。
- エミュレートされたSQS、SNS、EventBridgeを使って、Lambda関数やイベント駆動型ワークフローをローカルで開発する。
- AWSにデプロイする前に、TerraformやCDKのインフラコードをテストする。
- ローカル開発環境で、有料のLocalStack環境を置き換える。
クイックスタート
- 1
PyPIからインストール
pip install ministack - 2
MiniStackを起動(ポート4566で実行)
ministack - 3
サーバーが実行中であることを確認
curl http://localhost:4566/_ministack/health
使う前に知っておきたいこと
- Athena SQLクエリと一部の実データベース機能には、サイズの大きいフルDockerイメージが必要です。
- RDS、ElastiCache、ECS、Lambdaのコンテナを使用するには、Dockerソケットをマウントする必要があります。
収録されている特集
トピック
よくある質問
- ministack とは?
- 60以上のAWSサービスを単一ポートで動かせる、boto3、AWS CLI、Terraform互換の無料オープンソースAWSローカルエミュレーター。 MiniStackは、AWSアカウントなしで、S3、SQS、SNS、DynamoDB、Lambda、IAM、EC2、Step Functionsをはじめとする数十のAWSサービスを、開発者のマシンやCI上で実行できるローカルAWSエミュレーターです。すべてのサービスがデフォルトではポート4566の単一エンドポイントで公開されるため、既存のboto3、AWS CLI、Terraform、CDK、Pulumiの設定はエンドポイントURLを変更するだけで使えます。
- ministack は無料で使えますか?ライセンスは?
- ministack は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- ministack は今もメンテナンスされていますか?
- 活発にメンテナンス中。ministack の最終コミットは 2026年11月6日 です。
- ministack は何に使えますか?
- 実際のAWS認証情報を使わずに、CIでAWS依存の統合テストを実行する。 エミュレートされたSQS、SNS、EventBridgeを使って、Lambda関数やイベント駆動型ワークフローをローカルで開発する。 AWSにデプロイする前に、TerraformやCDKのインフラコードをテストする。 ローカル開発環境で、有料のLocalStack環境を置き換える。
- ministack のインストール方法は?
- PyPIからインストール: pip install ministack MiniStackを起動(ポート4566で実行): ministack サーバーが実行中であることを確認: curl http://localhost:4566/_ministack/health
- ministack はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/ministackorg/ministack
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
依存関係のインストールとデプロイパッケージのビルド機能を備えた、AWS Lambda関数とレイヤー作成用のTerraformモジュール。
Blob、Queue、Table、Functions、Cosmos DBなど、Azure互換サービスをlocalhost:4577で実行できる無料のオープンソースAzureエミュレーター。
CloudFormationを介さずAWS SDKを直接呼び出して既存のCDKアプリをデプロイする、開発・テストのデプロイを高速化するCDK CLI互換ツールです。
vClusterを使ってKubernetesクラスターをDockerコンテナとして実行する、KinDより軽量で一時停止・再開やロードバランサーを備えたツール。