Repolode
ministackorg

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. 1

    PyPIからインストール

    pip install ministack
  2. 2

    MiniStackを起動(ポート4566で実行)

    ministack
  3. 3

    サーバーが実行中であることを確認

    curl http://localhost:4566/_ministack/health

使う前に知っておきたいこと

  • Athena SQLクエリと一部の実データベース機能には、サイズの大きいフルDockerイメージが必要です。
  • RDS、ElastiCache、ECS、Lambdaのコンテナを使用するには、Dockerソケットをマウントする必要があります。

収録されている特集

トピック

#aws#aws-emulator#local-development#testing#terraform#docker#serverless#mock-aws#aws-local#aws-sdk

よくある質問

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 の数値は毎日更新されます。

関連プロジェクト