用途
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 获取实时定价。