📚 はてなブックマーク新着レポート

無料でAWSをローカルでシミュレーションできるエミュレーター「MiniStack」
— 60以上のAWSサービスを単一ポートで利用可能、マルチアカウント&マルチリージョン対応、セルフホスト可能

元記事
GIGAZINE(2026年10月3日 12時00分掲載)
はてなブックマーク
ユーザー ao41 のブックマーク
ブックマーク日時
2026-10-03 09:33:37 (UTC) / 18:33:37 (JST)
はてブ数
54 users
タグ
あとで読む
公式サイト
https://ministack.org/ / GitHub: ministackorg/ministack

MiniStack とは?

AWSを利用するアプリを開発する際、動作確認のたびにAWS上へS3・DynamoDB・Lambdaなどのリソースを作成していると、環境の構築・削除・利用料金の管理などの手間が発生します。MiniStackはAWSのAPIをPC上で再現するエミュレーターで、AWS CLIやTerraformなどのツールから60以上のAWSサービスをローカル環境だけで無料で利用できるオープンソースソフトウェアです。LocalStackの無料・オープンな代替として、MITライセンスで提供されています。

構築方法

GIGAZINEのレビューでは、WindowsにDocker Desktop・Git for Windows(Git Bash)・AWS CLIを用意した環境で構築しています。作業フォルダーに compose.yml を作成してコンテナを起動するだけのシンプルな手順です。

services:
  ministack:
    image: ministackorg/ministack:latest
    ports:
      - "4566:4566"
    environment:
      - PERSIST_STATE=1
      - S3_PERSIST=1
      - LOG_LEVEL=INFO
    volumes:
      - ./data/state:/tmp/ministack-state
      - ./data/s3:/tmp/ministack-data/s3
docker compose up -d

続いてGit Bashでテスト用の認証情報を設定すれば準備完了です。

export AWS_ACCESS_KEY_ID=test
export AWS_SECRET_ACCESS_KEY=test
export AWS_DEFAULT_REGION=us-east-1

基本的な使い方

S3バケットの作成・確認

実際のAWSと同じAWS CLIをそのまま使えます。エンドポイントURLに http://localhost:4566 を指定するだけ。

aws --endpoint-url=http://localhost:4566 s3 mb s3://test-bucket

aws --endpoint-url=http://localhost:4566 s3 ls
# 実行結果
# 2026-10-01 10:05:03 test-bucket

SQSキューの作成

S3とSQSでポートを切り替える必要はなく、MiniStackがAWSリクエストを解析して60以上のサービスへ自動で振り分けます。

aws --endpoint-url=http://localhost:4566 sqs create-queue --queue-name test-queue
aws --endpoint-url=http://localhost:4566 sqs list-queues
# 実行結果
# {
#     "QueueUrls": [
#         "http://localhost:4566/000000000000/test-queue"
#     ]
# }

見どころ①:RDSでは実際のPostgreSQLを起動できる

MiniStackはAPIのレスポンスだけを再現するサービスだけではありません。RDSではPostgreSQL・MySQL・MariaDB、Amazon ElastiCacheではRedisなどの実際のソフトウェアをDockerコンテナとして起動できます。

ポイント:「APIの見た目だけ再現」ではなく「本物のDBエンジンを動かす」ことで、より実践的な統合テストがローカルで完結します。

見どころ②:複数のAWSアカウントとリージョンを再現

MiniStackは12桁の AWS_ACCESS_KEY_ID をAWSのアカウントIDとして扱い、1つのMiniStack内に複数アカウントのリソースを分離して保持できます。

対応サービス(60以上)の一例

カテゴリ対応サービス
CoreS3・DynamoDB・SQS・SNS・Lambda・Lambda MicroVMs・Lambda Core・IAM・STS・Secrets Manager・SSM・CloudFormation
ObservabilityCloudWatch・CloudWatch Logs・CloudTrail
Integration & EventsEventBridge・EventBridge Scheduler・EventBridge Pipes・Step Functions・IoT・IoT Wireless・Amazon Location・Amazon MQ
Streams & AnalyticsKinesis・Firehose・Athena・Glue・EMR・OpenSearch・MSK(Kafka)・MediaConnect
Compute & ContainersEC2・IMDS・ECS・EKS・Batch・Auto Scaling・ALB / ELBv2
Databases & CacheAurora DSQL・RDS・RDS Data API・ElastiCache
Networking & DNSRoute53・CloudFront・CloudFront KeyValueStore・ServiceDiscovery
APIs & EdgeAPI Gateway v1・API Gateway v2・AppSync
Security & CryptoKMS・ACM・AWS Signer・WAFv2・WAF Classic・Amazon Inspector
Identity & AccountsCognito・Organizations・Account
AI & MLAmazon Bedrock・Bedrock Runtime・Bedrock Agent・Bedrock Agent Runtime・Bedrock AgentCore
CommunicationSES
Storage & TransferEFS・ECR・Transfer Family・Amazon Transcribe・Amazon Translate・S3 Files・S3 Tables
Config & Dev ToolsAppConfig・CodeBuild・AWS Config・Cloud Control API・MWAA・Cost & Usage Report
Cross-service & BackupResource Groups Tagging API・AWS Backup・Resource Groups

利用時の注意点とコミュニティ評価

注意点

Hacker Newsでの議論

使いどころ:料金を気にせずサクサク動かせるローカル開発・CI統合テスト向き。本番と完全一致する挙動検証が目的なら、実AWS環境でのテストも併用するのが良さそう。

まとめ