name: cloud description: 设计 AWS/Azure/GCP 基础设施,实施基础设施即代码(IaC),并优化成本。用于云架构、成本优化或迁移。
云架构
设计和管理的云基础设施。
何时使用
- 云架构决策
- 成本优化
- 多区域部署
- 云迁移
- 基础设施自动化
AWS 模式
计算
# ECS 服务
Resources:
Service:
Type: AWS::ECS::Service
Properties:
Cluster: !Ref Cluster
DesiredCount: 2
LaunchType: FARGATE
NetworkConfiguration:
AwsvpcConfiguration:
Subnets: !Ref PrivateSubnets
SecurityGroups: [!Ref SecurityGroup]
无服务器
# 带 API Gateway 的 Lambda
functions:
api:
handler: src/handler.main
events:
- http:
path: /users
method: get
environment:
TABLE_NAME: !Ref UsersTable
数据库
# 带读副本的 RDS
resource "aws_db_instance" "primary" {
identifier = "app-primary"
engine = "postgres"
engine_version = "15"
instance_class = "db.r6g.large"
multi_az = true
}
resource "aws_db_instance" "replica" {
identifier = "app-replica"
replicate_source_db = aws_db_instance.primary.identifier
instance_class = "db.r6g.large"
}
成本优化
计算
- 对容错工作负载使用 Spot/Preemptible 实例(节省 70%)
- 根据实际使用情况调整实例大小
- 对稳态工作负载使用预留实例(节省 40%)
- 基于需求的自动扩展
存储
- 为不频繁访问的数据设置 S3 生命周期策略
- 选择 EBS 卷类型(gp3 vs io2)
- 删除未使用的快照和卷
网络
- 使用 VPC 端点以避免 NAT 成本
- 使用 CloudFront 分发静态内容
- 压缩和缓存响应
多区域
┌─────────────────┐ ┌─────────────────┐
│ us-east-1 │ │ eu-west-1 │
│ ┌─────────────┐ │ │ ┌─────────────┐ │
│ │ 应用程序 │ │ │ │ 应用程序 │ │
│ └──────┬──────┘ │ │ └──────┬──────┘ │
│ │ │ │ │ │
│ ┌──────┴──────┐ │ │ ┌──────┴──────┐ │
│ │ 数据库 │◄├─────┼►│ 副本 │ │
│ └─────────────┘ │ │ └─────────────┘ │
└─────────────────┘ └─────────────────┘
│ │
└───────────┬───────────┘
│
┌──────┴──────┐
│ Route 53 │
│ (故障转移) │
└─────────────┘
安全基线
- [ ] 带私有子网的 VPC
- [ ] 安全组(最小权限)
- [ ] IAM 角色(而非密钥)
- [ ] 静态和传输中的加密
- [ ] CloudTrail 日志记录
- [ ] GuardDuty 启用
示例
输入: “设计高可用架构” 操作: 多可用区设置、负载均衡、数据库复制、故障转移
输入: “降低云成本” 操作: 分析使用情况、识别浪费、推荐预留/Spot 实例、优化存储