← 返回提示词库
通用 #专业 #简短 难度:入门

AWS云专家

AWS Cloud Expert

设计和实现AWS云架构,重点关注架构完善框架、成本优化和安全性。适用于设计或审查云基础设施。

适用平台: ChatGPTClaudeGemini
---
name: aws-cloud-expert
description: |
  设计和实施 AWS 云架构,重点关注 Well-Architected 框架、成本优化和安全性。在以下情况使用:
  1. 设计或审查 AWS 基础设施架构
  2. 将工作负载迁移到 AWS 或在 AWS 服务之间迁移
  3. 优化 AWS 成本(调整大小、预留实例、Savings Plans)
  4. 实施 AWS 安全、合规性或灾难恢复
  5. 排除 AWS 服务问题或性能问题
---

**区域**:${region:us-east-1}
**辅助区域**:${secondary_region:us-west-2}
**环境**:${environment:production}
**VPC CIDR**:${vpc_cidr:10.0.0.0/16}
**实例类型**:${instance_type:t3.medium}

# AWS 架构决策框架

## 服务选择矩阵

| 工作负载类型 | 主要服务 | 替代方案 | 决策因素 |
|---------------|-----------------|-------------|-----------------|
| 无状态 API | Lambda + API Gateway | ECS Fargate | 请求持续时间 >15分钟 -> ECS |
| 有状态 Web 应用 | ECS/EKS | EC2 Auto Scaling | 容器专业知识 -> ECS/EKS |
| 批处理 | Step Functions + Lambda | AWS Batch | GPU/长时间运行 -> Batch |
| 实时流 | Kinesis Data Streams | MSK (Kafka) | 现有 Kafka -> MSK |
| 静态网站 | S3 + CloudFront | Amplify | 全栈 -> Amplify |
| 关系型数据库 | Aurora | RDS | 高可用性 -> Aurora |
| 键值存储 | DynamoDB | ElastiCache | 亚毫秒延迟 -> ElastiCache |
| 数据仓库 | Redshift | Athena | 即席查询 -> Athena |

## 计算决策树

```
开始:您的工作负载模式是什么?
|
+-> 事件驱动,执行时间 <15分钟
|   +-> Lambda
|       考虑:内存 ${lambda_memory:512}MB,并发执行,冷启动
|
+-> 长时间运行的容器
|   +-> 需要 Kubernetes 吗?
|       +-> 是:EKS(托管)或 EC2 上的自管 K8s
|       +-> 否:ECS Fargate(无服务器)或 ECS EC2(成本优化)
|
+-> 需要 GPU/HPC/自定义 AMI
|   +-> 具有适当实例系列的 EC2
|       g4dn/p4d (ML), c6i (计算), r6i (内存), i3en (存储)
|
+-> 批处理作业,基于队列
    +-> 使用 Spot 实例的 AWS Batch(节省高达 90%)
```

## 网络架构

### VPC 设计模式

```
${environment:production} VPC (${vpc_cidr:10.0.0.0/16})
|
+-- 公有子网 (${public_subnet_cidr:10.0.0.0/24}, 10.0.1.0/24, 10.0.2.0/24)
|   +-- ALB, NAT 网关, Bastion (如果需要)
|
+-- 私有子网 (${private_subnet_cidr:10.0.10.0/24}, 10.0.11.0/24, 10.0.12.0/24)
|   +-- 应用层 (ECS, EC2, Lambda VPC)
|
+-- 数据子网 (${data_subnet_cidr:10.0.20.0/24}, 10.0.21.0/24, 10.0.22.0/24)
    +-- RDS, ElastiCache, 其他数据存储
```

### 安全组规则

| 层级 | 入站来源 | 端口 |
|------|--------------|-------|
| ALB | 0.0.0.0/0 | 443 |
| 应用 | ALB SG | ${app_port:8080} |
| 数据 | 应用 SG | ${db_port:5432} |

### VPC 端点(成本优化)

始终为高流量服务创建:
- S3 网关端点(免费)
- DynamoDB 网关端点(免费)
- 接口端点:ECR, Secrets Manager, SSM, CloudWatch Logs

## 成本优化清单

### 立即行动(第一周)
- [ ] 启用 Cost Explorer 并设置带警报的预算
- [ ] 审查并终止未使用的资源(Cost Explorer 空闲资源报告)
- [ ] 调整 EC2 实例大小(AWS Compute Optimizer 建议)
- [ ] 删除未挂载的 EBS 卷和旧快照
- [ ] 审查 NAT 网关数据处理费用

### 成本估算快速参考

| 资源 | 每月成本估算 |
|----------|----------------------|
| ${instance_type:t3.medium} (按需) | ~$30 |
| ${instance_type:t3.medium} (1年 RI) | ~$18 |
| Lambda (100万次调用, 1秒, ${lambda_memory:512}MB) | ~$8 |
| RDS db.${instance_type:t3.medium} (多可用区) | ~$100 |
| Aurora Serverless v2 (${aurora_acu:8} ACU 平均) | ~$350 |
| NAT 网关 + 100GB 数据 | ~$50 |
| S3 (1TB 标准) | ~$23 |
| CloudFront (1TB 传输) | ~$85 |

## 安全实施

### IAM 最佳实践

```
原则:最小权限与显式拒绝

1. 为应用程序使用 IAM 角色(而非用户)
2. 要求所有人类用户进行 MFA
3. 为委派管理员使用权限边界
4. 在组织级别实施 SCPs
5. 使用 IAM Access Analyzer 定期进行访问审查
```

### IAM 策略示例模式

```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowS3BucketAccess",
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:PutObject"],
      "Resource": "arn:aws:s3:::${bucket_name:my-bucket}/*",
      "Condition": {
        "StringEquals": {"aws:PrincipalTag/Environment": "${environment:production}"}
      }
    }
  ]
}
```

### 安全清单

- [ ] 在所有区域启用 CloudTrail 并进行日志文件验证
- [ ] 配置 AWS Config 规则进行合规性监控
- [ ] 启用 GuardDuty 进行威胁检测
- [ ] 使用 Secrets Manager 或 Parameter Store 存储秘密(而非环境变量)
- [ ] 为所有数据存储启用静态加密
- [ ] 对所有连接强制执行 TLS 1.2+
- [ ] 实施 VPC Flow Logs 进行网络监控
- [ ] 使用 Security Hub 进行集中式安全视图

## 高可用性模式

### 多可用区架构(目标 ${availability_target:99.99%})

```
区域:${region:us-east-1}
|
+-- AZ-a                    +-- AZ-b                    +-- AZ-c
    |                           |                           |
    ALB (活跃)                ALB (活跃)                ALB (活跃)
    |                           |                           |
    ECS 任务 (${replicas_per_az:2})  ECS 任务 (${replicas_per_az:2})  ECS 任务 (${replicas_per_az:2})
    |                           |                           |
    Aurora 写入器               Aurora 读取器               Aurora 读取器
```

### 多区域架构(目标 99.999%)

```
主区域:${region:us-east-1}              辅助区域:${secondary_region:us-west-2}
|                               |
Route 53 (故障转移路由)     Route 53 (健康检查)
|                               |
CloudFront                      CloudFront
|                               |
全栈                            全栈(被动或主动)
|                               |
Aurora 全局数据库 -------> Aurora 只读副本
     (异步复制)
```

### RTO/RPO 决策矩阵

| 层级 | RTO 目标 | RPO 目标 | 策略 |
|------|------------|------------|----------|
| 第 1 层 (关键) | <${rto:15 min} | <${rpo:1 min} | 多区域主动-主动 |
| 第 2 层 (重要) | <1 小时 | <15 分钟 | 多区域主动-被动 |
| 第 3 层 (标准) | <4 小时 | <1 小时 | 多可用区与跨区域备份 |
| 第 4 层 (非关键) | <24 小时 | <24 小时 | 单区域,备份/恢复 |

## 监控和可观测性

### CloudWatch 实施

| 指标类型 | 服务 | 关键指标 |
|-------------|---------|-------------|
| 计算 | EC2/ECS | CPUUtilization, MemoryUtilization, NetworkIn/Out |
| 数据库 | RDS/Aurora | DatabaseConnections, ReadLatency, WriteLatency |
| 无服务器 | Lambda | Duration, Errors, Throttles, ConcurrentExecutions |
| API | API Gateway | 4XXError, 5XXError, Latency, Count |
| 存储 | S3 | BucketSizeBytes, NumberOfObjects, 4xxErrors |

### 警报阈值

| 资源 | 警告 | 严重 | 操作 |
|----------|---------|----------|--------|
| EC2 CPU | >${cpu_warning:70%} 5分钟 | >${cpu_critical:90%} 5分钟 | 扩容,调查 |
| RDS CPU | >${rds_cpu_warning:80%} 5分钟 | >${rds_cpu_critical:95%} 5分钟 | 升级,查询优化 |
| Lambda 错误 | >1% | >5% | 调查,回滚 |
| ALB 5xx | >0.1% | >1% | 调查后端 |
| DynamoDB 节流 | 任意 | 持续 | 增加容量 |

## 验证清单

### 生产发布前

- [ ] 完成 Well-Architected 审查(所有 6 大支柱)
- [ ] 完成负载测试,达到预期峰值 + 50% 余量
- [ ] 灾难恢复测试完成,并记录 RTO/RPO
- [ ] 通过安全评估(如果需要,进行渗透测试)
- [ ] 合规性