返回市场
MCP测试环境

MCP测试环境

作者:kwiatriot2 星标更新:2025-10-25

项目介绍

MCP 测试环境

用于生成和分析网络流量模式的多区域测试基础设施,使用 AWS VPC 流日志和 Cloudflare 集成。

🎯 目的

此仓库提供一个完整的测试环境,用于:

  • 在多个区域生成真实的 HTTP/HTTPS 流量模式
  • 生成 VPC 流日志以进行网络分析和监控
  • 测试 Cloudflare MCP 与 AWS 基础设施的集成
  • 验证安全控制和网络可见性工具

📁 仓库结构

mcp-test-environment/
├── test-api/                    # 测试 API 基础设施和应用程序
│   ├── main.tf                  # Terraform 配置
│   ├── app.py                   # FastAPI 应用程序
│   ├── Dockerfile               # 容器定义
│   └── README.md                # 详细文档
│
├── traffic-generators/          # 多区域 Lambda 流量生成器
│   ├── traffic-generators.tf    # Terraform 配置
│   ├── traffic_generator.py     # Lambda 函数代码
│   └── README.md                # 详细文档
│
└── scripts/                     # 部署自动化
    ├── deploy-api.sh            # 部署测试 API
    └── deploy-traffic-generators.sh

🚀 快速开始

先决条件

  • 使用适当凭证配置的 AWS CLI
  • Terraform >= 1.6
  • Docker(在 WSL2 上构建 ARM64 需要 buildx)
  • 在 Cloudflare 中配置的域名

1. 部署测试 API

# 配置
cd test-api
cp terraform.tfvars.example terraform.tfvars
# 编辑 terraform.tfvars 文件并填写您的值

# 部署
cd ..
./scripts/deploy-api.sh

2. 部署流量生成器(可选)

# 配置
cd traffic-generators
cp terraform.tfvars.example terraform.tfvars
# 编辑 terraform.tfvars 文件并填写您的值

# 部署
cd ..
./scripts/deploy-traffic-generators.sh

查看组件文档以获取详细说明:

🏗️ 架构

测试 API

  • 运行在 ECS Fargate(ARM64/Graviton2)上的 FastAPI 应用程序
  • 具有 HTTPS 终止的 应用负载均衡器
  • 通过 Cloudflare 代理进行 DDoS 保护和分析
  • 捕获到 S3 的 VPC 流日志(Parquet 格式)

流量生成器

  • 部署在 4 个 AWS 区域的 Lambda 函数
  • 每 5 分钟由 EventBridge 调度执行
  • 可配置的流量模式(正常、突发、易出错)
  • 多区域的真实流量模拟

🔐 安全特性

  • 通过 Cloudflare 和 ALB 实现的 TLS 1.3 加密
  • 非 root 容器执行
  • 安全组最小权限访问
  • 启用 ECR 镜像扫描
  • VPC 流日志用于网络监控
  • 加密的 S3 存储(AES-256)
  • 不硬编码凭据

📊 监控

  • CloudWatch 日志用于应用程序和容器日志
  • CloudWatch 指标用于 ECS 和 Lambda 指标
  • VPC 流日志用于网络流量分析
  • ALB 访问日志用于 HTTP 请求详情
  • Cloudflare 分析用于边缘流量洞察

💰 成本估算

测试 API(全天候运行):

  • ECS Fargate(2 任务,ARM64):约 $15/月
  • ALB:约 $20/月
  • S3 + 流日志:约 $5/月
  • 总计:约 $40/月

流量生成器(可选):

  • Lambda 调用:约 $2/月
  • 总计:约 $2/月

🧹 清理

# 销毁流量生成器
cd traffic-generators
terraform destroy

# 销毁测试 API
cd ../test-api
terraform destroy

📝 使用场景

  • 网络安全测试 - 验证防火墙规则和安全控制
  • MCP 集成测试 - 使用真实流量模式测试 Cloudflare MCP
  • 流日志分析 - 开发和测试流日志解析工具
  • 性能测试 - 使用真实流量对应用程序进行负载测试
  • 培训 - 学习 AWS 网络、ECS 和基础设施即代码

🛠️ 开发

本地测试

# 本地测试 API
cd test-api
docker build -t test-api:latest .
docker run -p 8080:8080 test-api:latest

# 本地测试流量生成器
cd traffic-generators
python3 traffic_generator.py

WSL2 / Windows 用户

对于 WSL2 上的 ARM64 构建,部署脚本使用 docker buildx。确保 Docker Desktop 已启用 BuildKit。

📚 额外资源

🤝 贡献

  1. 创建功能分支
  2. 使用描述性提交进行更改
  3. 在单独的 AWS 账户中测试部署
  4. 提交带有详细描述的拉取请求

📄 许可

内部使用 - 网络安全团队


维护者: Kwiatriot
最后更新: 2025年10月
Terraform 版本: >= 1.6
AWS 提供商: ~> 6.15.0