1. AWS EC2 服务核心概念解析
作为AWS解决方案架构师认证(SAA-C03)的必考内容,EC2服务占据考试权重的30%以上。EC2(Elastic Compute Cloud)是AWS最基础的云计算服务,它允许用户在云端快速部署和管理虚拟服务器。与物理服务器相比,EC2实例可以按需扩展计算能力,只需为实际使用的资源付费。
我在实际工作中发现,许多初学者容易混淆EC2与其他计算服务的关系。简单来说,EC2提供的是基础设施层面的虚拟机,而像Lambda这样的服务则是无服务器计算平台。理解这种层级关系对架构设计至关重要。
2. SAA-C03考试重点知识体系
2.1 实例类型与适用场景
AWS提供了超过400种EC2实例类型,考试中常考的有以下几类:
- 通用型(如M5系列):平衡计算、内存和网络资源
- 计算优化型(如C5系列):高性能处理器适合计算密集型任务
- 内存优化型(如R5系列):大内存容量适合内存数据库
- 存储优化型(如I3系列):高随机I/O性能的本地SSD存储
重要提示:考试常会给出具体业务场景,要求选择最经济的实例类型。记住每种类型的首字母含义(M=通用,C=计算等)能快速定位答案。
2.2 定价模型深度对比
AWS EC2提供7种定价模式,每种都有其适用场景:
- 按需实例(On-Demand):最灵活,按秒计费
- 预留实例(Reserved):长期使用可节省75%成本
- 竞价实例(Spot):利用闲置容量,价格浮动
- 专用主机(Dedicated Hosts):物理服务器独享
- 容量预留(Capacity Reservations):确保特定可用区的容量
- 节省计划(Savings Plans):灵活的成本承诺
- 专用实例(Dedicated Instances):硬件隔离但无主机控制权
我在为客户设计架构时,通常会组合使用预留实例和按需实例。例如对基线负载使用预留实例,对突发流量使用按需实例,这样能在保证性能的同时优化成本。
3. 高级功能与架构设计
3.1 弹性IP与网络配置
EC2实例默认使用动态公有IP,重启后会变化。如果需要固定IP,需要分配弹性IP(EIP)。考试常见陷阱:
- 每个EIP未关联实例时会产生小时费用
- 每个账户默认只能分配5个EIP(可通过服务配额提高)
- EIP可以跨实例重新映射,实现快速故障转移
3.2 存储选项详解
EC2支持多种存储类型,考试重点包括:
- 实例存储(Ephemeral Storage):临时性块存储
- EBS(Elastic Block Store):持久化块存储
- EFS(Elastic File System):共享文件存储
- FSx for Windows/Lustre:托管文件系统
一个常见考题是要求为特定工作负载选择存储方案。例如,需要共享访问的Linux应用通常选择EFS,而需要低延迟的数据库则适合EBS gp3卷。
4. 安全组与网络ACL实战
4.1 安全组(Security Groups)配置
安全组是EC2实例的虚拟防火墙,考试重点:
- 状态化(stateful)的流量控制
- 仅支持允许规则(没有拒绝规则)
- 可以跨实例复用
- 默认拒绝所有入站流量
4.2 网络ACL(Network ACLs)特性
与安全组不同,网络ACL是子网级别的无状态防火墙:
- 同时支持允许和拒绝规则
- 按规则编号顺序评估
- 默认允许所有入站和出站流量
实际架构中,我通常建议组合使用两者:用安全组做精细控制,用网络ACL做子网级别的粗粒度过滤。
5. 自动扩展与负载均衡
5.1 Auto Scaling组配置要点
Auto Scaling是确保应用高可用的关键服务,考试重点包括:
- 启动配置(Launch Configuration)与启动模板(Launch Template)的区别
- 扩展策略(Scaling Policies)的三种类型:
- 目标跟踪(Target Tracking)
- 步进调整(Step Scaling)
- 简单调整(Simple Scaling)
- 健康检查机制(EC2状态检查与ELB健康检查)
5.2 负载均衡器选型指南
AWS提供三种负载均衡器,考试常要求根据场景选择:
- 应用负载均衡器(ALB):HTTP/HTTPS流量,支持基于路径的路由
- 网络负载均衡器(NLB):极高性能,支持静态IP
- 经典负载均衡器(CLB):旧版服务,逐渐淘汰
一个实用技巧:ALB可以配合AWS WAF提供Web应用防火墙功能,这是考试常见考点。
6. 监控与故障排查
6.1 CloudWatch核心功能
EC2监控主要依赖CloudWatch服务,重点掌握:
- 标准监控(5分钟粒度)与详细监控(1分钟粒度)
- 自定义指标(Custom Metrics)的发布
- CloudWatch警报(Alarms)的配置
- 日志组(Log Groups)与日志流(Log Streams)
6.2 系统状态检查与修复
EC2提供两种系统状态检查:
- 实例状态检查:监控虚拟机硬件问题
- 系统状态检查:监控底层物理主机问题
当检查失败时,最佳实践是:
- 先停止再启动实例(会迁移到健康主机)
- 如问题持续,考虑从最新快照恢复
- 对于关键业务系统,建议使用多可用区部署
7. 备份与灾难恢复策略
7.1 EBS快照管理
EBS快照是EC2数据备份的主要方式,考试重点:
- 增量备份特性(仅存储变更块)
- 跨区域复制(Cross-Region Copy)
- 生命周期管理器(Lifecycle Manager)自动化快照
- 从快照创建新卷的耗时与卷大小无关
7.2 灾难恢复方案选型
根据RTO(恢复时间目标)和RPO(恢复点目标)的不同,AWS推荐四种灾难恢复方案:
- 备份与恢复(RTO小时级)
- 引导式恢复(Pilot Light,RTO分钟级)
- 热备(Warm Standby,RTO秒级)
- 多站点(Multi-site,RTO近零)
考试常给出业务连续性要求,要求选择最经济的方案。例如对非关键系统,备份与恢复通常就足够了。
8. 性能优化实战技巧
8.1 EBS性能调优
EBS卷性能取决于类型和配置:
- gp3卷可以通过独立配置IOPS和吞吐量获得更好性价比
- io1/io2卷适合需要高IOPS的关键应用
- 对于顺序读写负载,吞吐量优化型(st1/sc1)更经济
一个常见误区是过度配置io1卷。实际上,许多工作负载使用gp3并适当增加IOPS就能满足需求,成本却能降低50%以上。
8.2 实例规模调整策略
选择实例大小时要考虑:
- 当前监控指标(CPU、内存、网络利用率)
- 工作负载特性(是否可水平扩展)
- 成本约束
我常用的方法是先使用较小实例类型,根据CloudWatch指标逐步调整。AWS Compute Optimizer服务也能提供专业的实例类型建议。
9. 安全最佳实践
9.1 IAM角色与实例凭证
避免在EC2实例中存储长期凭证,最佳实践是:
- 创建IAM角色并附加必要权限
- 启动实例时分配该角色
- 应用程序通过实例元数据服务获取临时凭证
9.2 系统加固措施
EC2安全加固的关键步骤:
- 使用SSH密钥对而非密码登录
- 定期更新SSH安全组规则,限制源IP
- 启用EBS加密(使用AWS KMS)
- 部署Amazon Inspector进行漏洞评估
在实际操作中,我发现许多安全事件源于过大的安全组规则。建议遵循最小权限原则,定期审查安全组配置。
10. 混合云与迁移策略
10.1 AWS Outposts与混合云
对于需要本地数据处理的场景,AWS提供:
- Outposts:完全托管的AWS基础设施本地部署
- Storage Gateway:连接本地存储与云存储
- Direct Connect:专用网络连接
10.2 迁移方法论
EC2迁移通常遵循以下流程:
- 发现阶段:使用AWS Application Discovery Service
- 规划阶段:确定迁移策略(重新托管/重构等)
- 迁移阶段:使用AWS Server Migration Service
- 优化阶段:调整实例类型和架构
考试中常出现关于迁移顺序的题目。通常建议先迁移开发测试环境,验证无误后再迁移生产环境。