mcpField
A
aws-solution-architect

aws-solution-architect

github.com/alirezarezvani云与 DevOps89792 次安装50 周前更新
代码仓库

关于 aws-solution-architect

面向初创团队的 AWS 架构设计技能,涵盖云原生模式,并关注扩展性、安全性与成本。可提供架构方案、基础设施模板、成本估算、安全评估,以及部署或迁移指引。

主要功能

  1. 01无服务器与事件驱动架构设计
  2. 02生成基础设施即代码模板
  3. 03规划扩展能力与数据存储
  4. 04提供成本优化建议
  5. 05安全与合规评估
  6. 06部署和迁移指引

适用场景

  1. 01设计无服务器应用后端
  2. 02为 Web 应用生成基础设施模板
  3. 03审查 AWS 成本与安全实践
  4. 04规划分阶段云迁移

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alirezarezvani/claude-code-skill-factory --skill aws-solution-architect

安装后在 Claude Code 中输入/aws-solution-architect确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

architecture_designer.py
cost_optimizer.py
expected_output.json
HOW_TO_USE.md
sample_input.json
serverless_stack.py

详细介绍

初创公司 AWS 解决方案架构师

此技能提供全面的 AWS 架构设计专业知识,面向初创公司,着重采用无服务器技术、实现可扩展性、优化成本并应用现代云原生模式。

能力

  • 无服务器架构设计:Lambda、API Gateway、DynamoDB、EventBridge、Step Functions、AppSync
  • 基础设施即代码:CloudFormation、CDK(Cloud Development Kit)、Terraform 模板
  • 可扩展的应用架构:自动扩缩、负载均衡、多区域部署
  • 数据与存储解决方案:S3、RDS Aurora Serverless、DynamoDB、ElastiCache、Neptune
  • 事件驱动架构:EventBridge、SNS、SQS、Kinesis、Lambda 触发器
  • API 设计:API Gateway(REST 和 WebSocket)、AppSync(GraphQL)、速率限制、身份验证
  • 身份验证与授权:Cognito、IAM、细粒度访问控制、联合身份
  • CI/CD 流水线:CodePipeline、CodeBuild、CodeDeploy、GitHub Actions 集成
  • 监控与可观测性:CloudWatch、X-Ray、CloudTrail、警报、仪表板
  • 成本优化:预留实例、Savings Plans、资源规格优化、预算警报
  • 安全最佳实践:VPC 设计、安全组、WAF、Secrets Manager、加密
  • 微服务模式:服务网格、API 组合、Saga 模式、CQRS
  • 容器编排:ECS Fargate、EKS(Kubernetes)、App Runner
  • 内容分发:CloudFront、边缘站点、源站屏蔽、缓存策略
  • 数据库迁移:DMS、架构转换、零停机迁移

输入要求

架构设计需要提供:

  • 应用类型:Web 应用、移动端后端、数据流水线、微服务、SaaS 平台
  • 流量预期:每日用户数、每秒请求数、地理分布
  • 数据要求:存储需求、数据库类型、备份和保留策略
  • 预算限制:每月支出上限、成本优化优先级
  • 团队规模与专业水平:开发人员数量、AWS 经验水平、DevOps 成熟度
  • 合规需求:GDPR、HIPAA、SOC 2、PCI-DSS、数据驻留
  • 可用性要求:SLA 目标、正常运行时间目标、灾难恢复 RPO/RTO

接受以下格式:

  • 应用需求的文本描述
  • 包含结构化架构规范的 JSON
  • 现有架构图或文档
  • 当前 AWS 资源清单(用于优化)

输出格式

结果包括:

  • 架构图:使用 draw.io 或 Lucidchart 格式呈现的可视化图示
  • CloudFormation/CDK 模板:可直接部署的基础设施即代码(IaC)
  • Terraform 配置:兼容多云的基础设施定义
  • 成本估算:详细的每月成本明细及优化建议
  • 安全评估:最佳实践检查清单、合规性验证
  • 部署指南:分步实施说明
  • 运行手册:运维流程、故障排查指南、灾难恢复计划
  • 迁移策略:分阶段迁移计划、回滚流程

使用方法

“为拥有 10 万用户的移动应用设计一个使用 Lambda 和 DynamoDB 的无服务器 API 后端” “为采用多租户架构的 SaaS 平台创建一个经过成本优化的架构” “为具有自动扩缩功能的三层 Web 应用生成 CloudFormation 模板” “设计一个使用 EventBridge 和 Step Functions 的事件驱动微服务架构” “优化我当前的 AWS 配置,将成本降低 30%”

脚本

  • architecture_designer.py:生成架构模式和服务建议
  • serverless_stack.py:创建无服务器应用堆栈(Lambda、API Gateway、DynamoDB)
  • cost_optimizer.py:分析 AWS 成本并提供优化建议
  • iac_generator.py:生成 CloudFormation、CDK 或 Terraform 模板
  • security_auditor.py:验证 AWS 安全最佳实践并执行合规性检查

架构模式

1. 无服务器 Web 应用程序

使用场景:SaaS 平台、移动后端、低流量网站

技术栈:

  • 前端:S3 + CloudFront(静态托管)
  • API:API Gateway + Lambda
  • 数据库:DynamoDB 或 Aurora Serverless
  • 身份验证:Cognito
  • CI/CD:Amplify 或 CodePipeline

优势:无需管理服务器、按使用量付费、自动扩展、运维开销低

成本:小到中等流量每月 $50-500

2. 事件驱动的微服务

使用场景:复杂业务工作流、异步处理、解耦系统

技术栈:

  • 事件:EventBridge(事件总线)
  • 处理:Lambda 函数或 ECS Fargate
  • 队列:SQS(用于处理失败的死信队列)
  • 状态管理:Step Functions
  • 存储:DynamoDB、S3

优势:松散耦合、独立扩展、故障隔离、易于测试

成本:每月 $100-1000,具体取决于事件量

3. 现代三层应用程序

使用场景:包含动态内容的传统 Web 应用、电商、CMS

技术栈:

  • 负载均衡器:ALB(Application Load Balancer)
  • 计算:ECS Fargate 或 EC2 Auto Scaling
  • 数据库:RDS Aurora(MySQL/PostgreSQL)
  • 缓存:ElastiCache(Redis)
  • CDN:CloudFront
  • 存储:S3

优势:成熟可靠的模式、易于理解、扩展灵活

成本:每月 $300-2000,具体取决于流量和实例规格

4. 实时数据处理

使用场景:分析、IoT 数据摄取、日志处理、流式处理

技术栈:

  • 摄取:Kinesis Data Streams 或 Firehose
  • 处理:Lambda 或 Kinesis Analytics
  • 存储:S3(数据湖)+ Athena(查询)
  • 可视化:QuickSight
  • 告警:CloudWatch + SNS

优势:可处理数百万个事件、实时洞察、存储成本效益高

成本:每月 $200-1500,具体取决于数据量

5. GraphQL API 后端

使用场景:移动应用、单页应用、灵活的数据查询

技术栈:

  • API:AppSync(托管式 GraphQL)
  • 解析器:Lambda 或直接集成 DynamoDB
  • 数据库:DynamoDB
  • 实时功能:AppSync 订阅(WebSocket)
  • 身份验证:Cognito 或 API 密钥

优势:单一端点、减少数据获取过多或不足、实时订阅

成本:中等用量每月 $50-400

6. 多区域高可用性

使用场景:全球应用、灾难恢复、合规要求

技术栈:

  • DNS:Route 53(基于地理位置的路由)
  • CDN:搭配多个源站的 CloudFront
  • 计算:多区域 Lambda 或 ECS
  • 数据库:DynamoDB Global Tables 或 Aurora Global Database
  • 复制:S3 跨区域复制

优势:全球低延迟、灾难恢复、数据主权

成本:单区域成本的 1.5-2 倍

最佳实践

无服务器设计原则
  1. 无状态函数 - 将状态存储在 DynamoDB、S3 或 ElastiCache 中
  2. 幂等性 - 妥善处理重试,使用唯一请求 ID
  3. 冷启动优化 - 对关键路径使用预置并发,优化程序包大小
  4. 超时管理 - 设置适当的超时时间,使用 Step Functions 处理长时间运行的流程
  5. 错误处理 - 实现重试逻辑、死信队列和指数退避
成本优化
  1. 合理配置资源 - 从小规模开始,监控指标,根据实际用量扩展
  2. 预留容量 - 对用量可预测的工作负载使用 Savings Plans 或 Reserved Instances
  3. S3 生命周期策略 - 转移到更便宜的存储层级(IA、Glacier)
  4. Lambda 内存优化 - 测试不同的内存设置,以平衡成本和性能
  5. CloudWatch 日志保留 - 设置适当的保留期限(大多数情况下为 7-30 天)
  6. NAT Gateway 替代方案 - 使用 VPC 端点,在开发环境中考虑使用单个 NAT
安全加固
  1. 最小权限原则 - 使用权限最少的 IAM 角色
  2. 全面加密 - 静态数据加密(KMS)和传输中加密(TLS/SSL)
  3. 网络隔离 - 私有子网、安全组、NACL
  4. 密钥管理 - 使用 Secrets Manager 或 Parameter Store,绝不硬编码
  5. API 保护 - WAF 规则、速率限制、API 密钥、OAuth2
  6. 审计日志 - 使用 CloudTrail 记录 API 调用,使用 VPC Flow Logs 记录网络流量
可扩展性设计
  1. 优先横向扩展 - 通过增加小型实例而不是升级为更大型实例来扩展
  2. 数据库分片 - 按租户、地理位置或时间划分数据
  3. 只读副本 - 将读取流量从主数据库分流
  4. 缓存层 - CloudFront(边缘)、ElastiCache(应用)、DAX(DynamoDB)
  5. 异步处理 - 使用队列(SQS)处理非关键操作
  6. 自动扩缩策略 - 目标跟踪(CPU、请求)或阶梯扩缩
DevOps 与可靠性
  1. 基础设施即代码 - 版本控制、同行评审、自动化测试
  2. 蓝绿部署 - 零停机发布、即时回滚
  3. 金丝雀发布 - 以少量流量测试新版本
  4. 运行状况检查 - 应用级运行状况端点、优雅降级
  5. 混沌工程 - 测试故障场景,验证恢复流程
  6. 监控与告警 - 为关键指标设置 CloudWatch 警报

服务选择指南

计算
  • Lambda:事件驱动、短时任务(<15 min)、流量变化较大
  • Fargate:容器化应用、长时间运行的进程、流量可预测
  • EC2:自定义配置、需要 GPU/FPGA、Windows 应用
  • App Runner:从源代码简单部署容器
数据库
  • DynamoDB:键值、文档存储、无服务器、个位数毫秒延迟
  • Aurora Serverless:关系型数据库、工作负载变化较大、自动扩缩
  • Aurora Standard:高性能关系型数据库、流量可预测
  • RDS:传统数据库(MySQL、PostgreSQL、MariaDB、SQL Server)
  • DocumentDB:兼容 MongoDB 的文档存储
  • Neptune:用于关联数据的图数据库
  • Timestream:时序数据、IoT 指标
存储
  • S3 Standard:频繁访问、低延迟
  • S3 Intelligent-Tiering:自动优化成本
  • S3 IA (Infrequent Access):备份、归档(至少 30 天)
  • S3 Glacier:长期归档、合规
  • EFS:网络文件系统、实例间共享存储
  • EBS:EC2 块存储、高 IOPS
消息与事件
  • EventBridge:事件总线、松耦合微服务
  • SNS:发布/订阅、扇出通知
  • SQS:消息排队、解耦、缓冲
  • Kinesis:实时流数据、分析
  • MQ:托管消息代理(RabbitMQ、ActiveMQ)
API 与集成
  • API Gateway:REST API、WebSocket、限流、缓存
  • AppSync:GraphQL API、实时订阅
  • AppFlow:SaaS 集成(Salesforce、Slack 等)
  • Step Functions:工作流编排、状态机

创业公司专项考量

MVP(最小可行产品)架构

目标:快速发布,基础设施精简

建议:

  • Amplify(全栈部署)
  • Lambda + API Gateway + DynamoDB
  • 使用 Cognito 进行身份验证
  • 使用 CloudFront + S3 部署前端

成本:$20-100/月 设置时间:1-3 天

成长阶段(扩展至 10k-100k 用户)

目标:应对增长,同时保持成本效益

增加:

  • 使用 ElastiCache 进行缓存
  • 使用 Aurora Serverless 处理复杂查询
  • CloudWatch 控制面板和警报
  • CI/CD 流水线(CodePipeline)
  • 多可用区部署

成本:$500-2000/月 迁移时间:1-2 周

扩容(10 万以上用户,A 轮融资及以上)

目标:可靠性、可观测性、全球覆盖

添加:

  • 多区域部署
  • DynamoDB Global Tables
  • 高级监控(X-Ray、第三方 APM)
  • 使用 WAF 和 Shield 防护 DDoS
  • 专属支持计划
  • 预留实例/Savings Plans

成本:每月 3000–10000 美元 迁移时间:1–3 个月

常见问题及规避方法

技术债务
  • 过早过度设计 - 只有 100 位用户时,不要按 1000 万用户的规模构建
  • 监控不足 - 从第一天起就设置基本监控
  • 忽视成本 - 立即启用 Cost Explorer 和账单提醒
  • 依赖单一区域 - 从一开始就规划多区域部署
安全错误
  • 公开的 S3 存储桶 - 使用存储桶策略,阻止公开访问
  • IAM 权限过于宽泛 - 避免使用 "*" 权限,指定具体资源
  • 凭据硬编码 - 使用 IAM 角色和 Secrets Manager
  • 数据未加密 - 默认启用加密
性能问题
  • 没有缓存 - 尽早添加 CloudFront 和 ElastiCache
  • 查询效率低下 - 使用索引,避免在 DynamoDB 中执行扫描
  • Lambda 程序包过大 - 使用层,尽量减少依赖项
  • N+1 查询 - 实现 DataLoader 模式,批量执行操作
意外成本
  • 资源未删除 - 为所有资源添加标签,并定期检查
  • 数据传输成本 - 尽可能让流量保持在同一 AZ/区域内
  • NAT Gateway 费用 - 使用 AWS 服务的 VPC 端点
  • CloudWatch Logs 不断累积 - 设置保留策略

合规与治理

数据驻留
  • 使用指定区域(GDPR 合规可选择 eu-west-1)
  • 启用 S3 存储桶复制限制
  • 配置 Route 53 地理位置路由
HIPAA 合规
  • 仅使用符合 BAA 要求的服务
  • 启用静态和传输中加密
  • 实施审计日志记录(CloudTrail)
  • 配置带有私有子网的 VPC
SOC 2 / ISO 27001
  • 启用 AWS Config 合规规则
  • 使用 AWS Audit Manager
  • 实施最小权限访问
  • 定期开展安全评估

局限性

  • Lambda 局限性:执行时间上限为 15 分钟,内存上限为 10GB,存在冷启动延迟
  • API Gateway 限制:超时时间为 29 秒,负载大小上限为 10MB
  • DynamoDB 限制:项目大小上限为 400KB,默认使用最终一致性读取
  • 区域可用性:并非所有服务都在所有区域提供
  • 供应商锁定:部分无服务器服务特定于 AWS(可考虑使用抽象层)
  • 学习曲线:需要具备 AWS 专业知识和 DevOps 知识
  • 调试复杂性:与单体架构相比,分布式系统更难排查问题

实用资源

评论

支持 Markdown