SuperAPI AI 工具集

aws-serverless

部署与运维

查看项目

更新于 10-15 09:45

技能介绍

用途

AWS Serverless 是一套针对 AWS 无服务器工作负载的模式与最佳实践参考技能。当用户询问 Lambda(冷启动、内存、并发、超时)、Lambda Powertools、监控告警、事件驱动架构或 API Gateway 相关问题时,可加载对应参考文件获取指导。

主要能力

技能按主题组织参考文件,覆盖以下方面:

  • Lambda 内部机制(references/lambda-patterns.md):冷启动按并发执行发生,而非仅一次;Lambda Layers 用于部署优化,不是包管理器。
  • 可观测性(references/lambda-powertools.md):使用 Powertools 的 Logger、Tracer、Metrics,不要使用 print()。
  • 监控与告警(references/monitoring.md):对症状(错误、延迟)告警,而不是对原因(CPU)告警。
  • 事件驱动(references/event-driven.md):单 Lambda 与 Step Functions 的决策;Standard/Express/Hybrid;Saga 模式。
  • API Gateway(references/api-gateway.md):HTTP API 约便宜 70%;仅在需要 WAF、缓存或使用计划时使用 REST API。

关键反模式

Lambda

  • 不要假设冷启动只是“第一个请求”——它按并发执行发生。
  • 不要把 Lambda Layers 当包管理器——仅用于部署优化。
  • 不要在 Lambda 中同步调用 Lambda——使用 SQS、SNS 或 Step Functions。
  • 不要把面向用户的 API 超时设为 30 秒;长操作应使用异步方式。

可观测性

  • 不要用 print() 记录日志——使用 Powertools Logger 输出结构化 JSON。
  • 不要同步调用 CloudWatch API 获取指标——使用 Powertools Metrics(EMF 格式)。
  • 不要对资源利用率(CPU、内存)告警——对影响用户的症状告警。

事件驱动

  • 不要把 SQS 可见性超时设得比 Lambda 超时短——应设为 Lambda 超时的 6 倍。
  • 不要省略 DLQ——队列始终搭配 DLQ 并对其告警。
  • 不要用 Lambda 在服务之间传输数据——使用直接集成;Lambda 保留用于转换数据。

决策框架

Lambda 与 Step Functions

使用 Lambda 的场景:单一操作少于 15 分钟;简单请求-响应;无状态处理。

使用 Step Functions 的场景:多步骤工作流;需要每步重试/错误处理;长时间运行或人工介入;需要可视化工作流调试。

Lambda 与 ECS

使用 Lambda 的场景:执行时间少于 15 分钟;突发、不可预测流量;可接受冷启动;偏好按调用付费。

使用 ECS 的场景:长时间运行进程;稳定、高流量;要求低于 100ms 延迟;需要 GPU 或特殊硬件。

成本分析

当用户询问 Lambda、SQS、SNS、EventBridge 或 Step Functions 的成本影响或降低成本时,可引导其安装 AWS Pricing MCP Server。它通过 get_pricing 和 generate_cost_report 提供实时定价数据与成本优化建议。

前置条件:uv 包管理器、Python 3.10+、具有 pricing:* 权限的 AWS 凭证。

macOS / Linux 配置:

{
  "mcpServers": {
    "awslabs.aws-pricing-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.aws-pricing-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

Windows 配置:

{
  "mcpServers": {
    "awslabs.aws-pricing-mcp-server": {
      "command": "uvx",
      "args": [
        "--from", "awslabs.aws-pricing-mcp-server@latest",
        "awslabs.aws-pricing-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

将以上内容添加到 ~/.claude/claude_desktop_config.json(Claude Desktop)或 .claude/mcp.json(Claude Code)的 mcpServers 下。

版本矩阵

SnapStart:2021 年 11 月(Java);2024 年 10 月(Python、.NET)。支持的运行时:Java 11+、Python 3.12+、.NET 8+——不支持 Node、Ruby 或容器镜像。

参考加载策略

根据用户提问加载参考:

  • 冷启动、内存调优、并发、Layers → references/lambda-patterns.md
  • 日志、追踪、指标、Powertools 设置 → references/lambda-powertools.md
  • CloudWatch 告警、仪表盘、告警策略 → references/monitoring.md
  • SQS、SNS、EventBridge、Step Functions、Saga → references/event-driven.md
  • API Gateway(HTTP 与 REST、上线检查清单、WAF、X-Ray、安全)→ references/api-gateway.md

适用场景与限制

适用于 AWS 无服务器架构的设计、优化与排错咨询,尤其是 Lambda、事件驱动和 API Gateway 相关决策。资料未提供具体收费、价格或效果数据;成本相关内容需借助外部 AWS Pricing MCP Server 获取实时定价。