name: cloud-infrastructure description: 适用于AWS、Azure和GCP的云基础设施设计与部署模式。在设计云架构、使用Terraform实施基础设施即代码、优化成本或设置多区域部署时使用。 author: Joseph OBrien status: unpublished updated: ‘2025-12-23’ version: 1.0.1 tag: skill type: skill
云基础设施
全面的云基础设施技能,涵盖多云架构、基础设施即代码、成本优化和生产部署模式。
何时使用此技能
- 为新应用程序设计云架构
- 实施基础设施即代码(Terraform、CloudFormation、Pulumi)
- 成本优化和资源合理调整
- 多区域和高可用性部署
- 云迁移规划
- 安全与合规实施
- 自动扩展和性能优化
云架构模式
计算模式
| 模式 | AWS | Azure | GCP | 使用场景 |
|---|---|---|---|---|
| 无服务器 | Lambda | Functions | Cloud Functions | 事件驱动、可变负载 |
| 容器 | ECS/EKS | AKS | GKE | 微服务、环境一致性 |
| 虚拟机 | EC2 | Virtual Machines | Compute Engine | 遗留应用、完全控制 |
| 批处理 | Batch | Batch | Batch | 大规模处理 |
存储模式
| 类型 | AWS | Azure | GCP | 使用场景 |
|---|---|---|---|---|
| 对象存储 | S3 | Blob Storage | Cloud Storage | 静态文件、备份 |
| 块存储 | EBS | Managed Disks | Persistent Disk | 数据库存储 |
| 文件存储 | EFS | Azure Files | Filestore | 共享文件系统 |
| 归档存储 | Glacier | Archive | Coldline | 长期保留 |
数据库模式
| 类型 | AWS | Azure | GCP | 使用场景 |
|---|---|---|---|---|
| 关系型 | RDS, Aurora | SQL Database | Cloud SQL | ACID事务 |
| NoSQL | DynamoDB | Cosmos DB | Firestore | 灵活模式 |
| 缓存 | ElastiCache | Cache for Redis | Memorystore | 会话、缓存 |
| 数据仓库 | Redshift | Synapse | BigQuery | 分析 |
基础设施即代码
Terraform最佳实践
项目结构:
infrastructure/
├── modules/
│ ├── networking/
│ ├── compute/
│ └── database/
├── environments/
│ ├── dev/
│ ├── staging/
│ └── prod/
├── main.tf
├── variables.tf
├── outputs.tf
└── versions.tf
状态管理:
- 使用远程状态(S3、Azure Blob、GCS)
- 启用状态锁定(DynamoDB、Blob租约)
- 按环境分离状态
- 切勿提交状态文件
模块设计:
- 每个模块单一职责
- 暴露最少必需变量
- 记录输入/输出
- 使用git标签对模块进行版本控制
成本优化
计算节省:
- 预留实例(1-3年承诺):节省30-60%
- 竞价/可抢占实例:对于可中断工作负载节省60-90%
- 合理调整:将实例大小与实际使用情况匹配
- 自动扩展:在低使用期间缩减规模
存储节省:
- 生命周期策略:自动转换到更便宜的层级
- 压缩:减少存储占用空间
- 去重:消除冗余数据
- 删除未使用资源:孤立卷、快照
网络节省:
- 对静态内容使用CDN
- 优化数据传输路径
- 使用私有端点
- 压缩API响应
高可用性模式
多可用区部署
- 跨2-3个可用区部署
- 使用负载均衡器进行分发
- 跨可用区的数据库复制
- 自动故障转移配置
多区域部署
- 主动-主动或主动-被动
- 基于DNS的路由(Route53、Traffic Manager)
- 数据复制策略
- 灾难恢复程序
弹性模式
- 外部依赖的断路器
- 指数退避重试
- 隔离舱隔离
- 优雅降级
安全最佳实践
身份与访问
- 最小权限原则
- 使用IAM角色,而非长期凭证
- 为特权账户启用MFA
- 定期访问审查
网络安全
- VPC/VNet隔离
- 安全组作为防火墙
- 后端服务的私有子网
- 混合云的VPN/Direct Connect
数据保护
- 静态加密(KMS)
- 传输中加密(TLS)
- 密钥轮换策略
- 备份和恢复测试
监控与可观测性
关键指标
- CPU、内存、磁盘利用率
- 网络吞吐量和延迟
- 错误率和类型
- 每服务/团队成本
告警策略
- 基于基线设置阈值
- 对症状告警,而非原因
- 每个告警的运维手册
- 定义升级路径
参考文件
references/terraform_patterns.md- IaC模式和示例references/cost_optimization.md- 详细的成本降低策略
与其他技能的集成
- security-engineering - 用于安全架构
- network-engineering - 用于网络设计
- performance - 用于优化策略
- devops-runbooks - 用于运维程序