QUICK_START.md 5.4 KB

🚀 AWS Resource Scanner - 快速启动指南

项目概述

AWS Resource Scanner 是一个用于扫描和报告AWS资源的Web应用程序,包含:

  • Backend: Python Flask API服务
  • Frontend: React + TypeScript Web界面

环境要求

Backend

  • Python 3.8+
  • pip (Python包管理器)
  • Redis (必需,用于Celery任务队列)

Frontend

  • Node.js 18+
  • npm/yarn (包管理器)

快速启动

1. 安装Redis

Windows (推荐使用Chocolatey)

choco install redis-64
redis-server --service-install
redis-server --service-start

Docker (跨平台)

docker run -d --name redis -p 6379:6379 redis:alpine

Linux/macOS

# Ubuntu/Debian
sudo apt-get install redis-server
sudo systemctl start redis-server

# macOS (Homebrew)
brew install redis
brew services start redis

2. 启动Backend

# 进入backend目录
cd backend

# Windows: 运行设置脚本
setup.bat

# Unix/Linux/macOS: 运行设置脚本
chmod +x setup.sh
./setup.sh

# 激活虚拟环境
# Windows:
activate_venv.bat

# Unix/Linux/macOS:
source activate_venv.sh

# 初始化数据库
python init_db.py

# 启动Flask应用
python run.py

Backend将运行在: http://localhost:5000

3. 启动Celery Worker

# 新开一个终端,进入backend目录
cd backend

# 激活虚拟环境
activate_venv.bat  # Windows
# 或 source activate_venv.sh  # Unix/Linux

# 启动Celery Worker
celery -A celery_worker.celery_app worker --loglevel=info --pool=solo

注意: Celery Worker是必需的,用于处理AWS资源扫描任务。如果Redis未运行,创建任务时会返回错误。

4. 启动Frontend

# 新开一个终端,进入frontend目录
cd frontend

# Windows: 运行设置脚本
setup.bat

# Unix/Linux/macOS: 运行设置脚本
chmod +x setup.sh
./setup.sh

# 启动开发服务器
yarn dev

Frontend将运行在: http://localhost:3000

5. 访问应用

项目结构

cloud-reporter/
├── backend/                    # Python Flask后端
│   ├── app/                   # 应用代码
│   ├── config/                # 配置文件
│   ├── migrations/            # 数据库迁移
│   ├── tests/                 # 测试文件
│   ├── venv/                  # Python虚拟环境
│   ├── requirements.txt       # Python依赖
│   ├── setup_venv.py         # 环境设置脚本
│   ├── init_db.py            # 数据库初始化
│   └── run.py                # 应用入口
├── frontend/                   # React前端
│   ├── src/                   # 源代码
│   ├── node_modules/          # Node.js依赖
│   ├── package.json           # 项目配置
│   ├── vite.config.ts         # 构建配置
│   └── setup.bat/sh           # 环境设置脚本
└── sample-reports/            # 示例报告文件

开发工作流

Backend开发

cd backend

# 激活虚拟环境
activate_venv.bat  # Windows
source activate_venv.sh  # Unix/Linux

# 启动开发服务器
python run.py

# 运行测试
pytest

# 数据库操作
python init_db.py --reset      # 重置数据库
python init_db.py --with-demo  # 创建示例数据

Frontend开发

cd frontend

# 启动开发服务器
yarn dev

# 构建生产版本
yarn build

# 运行测试
yarn test

# 代码检查
yarn lint

功能特性

已实现功能

  • ✅ 用户认证和授权
  • ✅ AWS凭证管理
  • ✅ 资源扫描任务
  • ✅ 报告生成和下载
  • ✅ 任务日志和监控
  • ✅ 响应式Web界面
  • ✅ ACM证书全局扫描(当未选择us-east-1时自动在us-east-1扫描)

核心模块

  • 认证系统: JWT令牌认证
  • 凭证管理: AWS访问密钥和角色管理
  • 扫描引擎: 多服务AWS资源扫描
  • 报告生成: Word文档报告生成
  • 任务队列: Celery异步任务处理

环境配置

Backend环境变量 (.env)

FLASK_ENV=development
SECRET_KEY=your-secret-key
JWT_SECRET_KEY=your-jwt-secret-key
DATABASE_URL=sqlite:///dev.db
CELERY_BROKER_URL=redis://localhost:6379/0
CELERY_RESULT_BACKEND=redis://localhost:6379/1
ENCRYPTION_KEY=your-encryption-key

Frontend环境变量 (.env.local)

VITE_API_BASE_URL=http://localhost:5000
VITE_APP_TITLE=AWS Resource Scanner
VITE_DEBUG=true

故障排除

Backend问题

  1. 虚拟环境问题

    # 重新创建虚拟环境
    python setup_venv.py --clean
    
  2. 数据库问题

    # 重置数据库
    python init_db.py --reset
    
  3. Redis连接失败

    # 检查Redis是否运行
    redis-cli ping
    # 应该返回: PONG
    
    # 如果Redis未运行,启动它
    # Windows:
    redis-server --service-start
    # Linux:
    sudo systemctl start redis-server
    
  4. Celery Worker问题

    # 确保使用正确的启动命令
    celery -A celery_worker.celery_app worker --loglevel=info --pool=solo
    

Frontend问题

  1. 依赖安装失败

    # 清理并重新安装
    yarn cache clean
    rm -rf node_modules yarn.lock
    yarn install
    
  2. 端口冲突

    # 使用不同端口
    yarn dev --port 3001
    

验证安装

Backend验证

cd backend
python verify_setup.py

Frontend验证

cd frontend
node verify_setup.js

🎉 环境设置完成,开始开发吧!