Repolode
ministackorg

ministackorg/ministack

免费开源的本地 AWS 模拟器,在单一端口提供 60 多种 AWS 服务,兼容 boto3、AWS CLI 与 Terraform。

可替代:LocalStack

Star
5,111
Fork
538
未关闭 Issue
21
最近提交
昨天

这是什么?

MiniStack 是一个本地 AWS 模拟器,开发者无需 AWS 账号,就能在自己的机器或 CI 中运行 S3、SQS、SNS、DynamoDB、Lambda、IAM、EC2、Step Functions 等数十种 AWS 服务。所有服务通过同一个端口(默认 4566)访问,因此现有的 boto3、AWS CLI、Terraform、CDK 或 Pulumi 配置只需修改 endpoint 地址即可使用。

该项目定位为 LocalStack 的免费替代品,后者的核心服务已转为付费计划。它支持在同一个端点上使用多个账户和区域:12 位数字的 access key 会被用作账户 ID,SigV4 的区域信息则用于划分状态。部分服务运行真实后端,例如 RDS 会启动 Postgres 或 MySQL 容器,ElastiCache 对应真实的 Redis 或 Valkey,ECS 任务则以 Docker 容器运行。完整版镜像中的 Athena 查询基于 DuckDB 执行。

容器内置面向测试自动化的内部接口,包括健康检查、用于在测试之间清空状态的 reset 接口,以及查看 SES 邮件、SQS 消息和 SNS 短信的接口。项目使用 Python 编写,采用 MIT 许可证。

核心功能

  • 01在单一端口模拟 60 多种 AWS 服务,包括 S3、SQS、DynamoDB、Lambda 和 Step Functions。
  • 02通过修改 endpoint 地址即可配合 boto3、AWS CLI、Terraform、CDK 和 Pulumi 使用。
  • 03按账户(通过 access key 区分)和区域隔离资源状态。
  • 04RDS 与 ElastiCache 会启动真实的 Postgres、MySQL、Redis 或 Valkey 容器。
  • 05提供 reset 接口及消息检查接口,方便在测试套件中使用。

适用场景

  • 在 CI 中运行依赖 AWS 的集成测试,无需真实 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 查询需要使用体积更大的 full Docker 镜像。
  • RDS、ElastiCache、ECS 和 Lambda 容器需要挂载 Docker 套接字。

收录于专题

标签

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

常见问题

ministack 是什么?
免费开源的本地 AWS 模拟器,在单一端口提供 60 多种 AWS 服务,兼容 boto3、AWS CLI 与 Terraform。 MiniStack 是一个本地 AWS 模拟器,开发者无需 AWS 账号,就能在自己的机器或 CI 中运行 S3、SQS、SNS、DynamoDB、Lambda、IAM、EC2、Step Functions 等数十种 AWS 服务。所有服务通过同一个端口(默认 4566)访问,因此现有的 boto3、AWS CLI、Terraform、CDK 或 Pulumi 配置只需修改 endpoint 地址即可使用。
ministack 可以免费使用吗?用的什么许可证?
ministack 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
ministack 还在维护吗?
活跃维护中。ministack 最近一次提交是在 2026年11月6日。
ministack 适合用来做什么?
在 CI 中运行依赖 AWS 的集成测试,无需真实 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目