4. 计算服务专题:EC2实例类型、Auto Scaling、负载均衡、弹性伸缩场景
本章聚焦AWS计算服务的面试高频考点:EC2实例选型方法论、Auto Scaling与负载均衡的协同机制、弹性伸缩架构设计。内容覆盖实例族系对比、伸缩策略配置、高可用架构落地,帮助你在面试中快速建立系统化的回答路径。
Q1:如何为不同业务场景选择合适的EC2实例类型?请举例说明。
🎯 面试官考察点
- 对EC2实例族谱的掌握程度
- 是否具备场景化选型方法论
- 能否兼顾性能与成本优化
🧩 回答框架
- 分类定位:分析工作负载是CPU/内存/存储密集型还是通用型
- 匹配场景:选择对应实例族系(C/R/I/M系列)
- 考虑变体:评估网络增强型、ARM变体(Graviton)等优化选项
- 验证调整:通过压测验证性能,持续优化实例规格
💡 简短示例回答
先分析工作负载特征:计算密集型选C系列(如视频转码),内存密集型选R/X系列(如缓存),存储密集型选I/D系列(如数据库),通用型选M系列(如Web服务)。再根据成本需求考虑Graviton ARM实例或Spot实例优化。
🔍 可能追问
- T系列突发性能实例的工作原理是什么?适合什么场景?
- 如何选择裸金属实例?与虚拟化实例的主要区别?
- Graviton ARM实例在哪些场景下性价比更高?
⚠️ 避坑提醒
T系列适用于突发性工作负载,持续高负载应选择C/M/R系列;注意网络带宽和EBS带宽随实例规格提升,选型时需一并评估。
Q2:请解释Auto Scaling Group如何与ALB负载均衡器协同工作?
🎯 面试官考察点
- 对ASG与ALB集成机制的理解深度
- 健康检查与生命周期管理是否清晰
- 能否描述完整的流量分发链路
🧩 回答框架
- 注册发现:ASG通过Launch Template创建实例,自动注册到ALB目标组
- 健康检查:ALB定期检测实例健康状态,异常实例触发ASG替换
- 流量分发:ALB按规则将请求分发至健康实例
- 弹性联动:CloudWatch指标驱动ASG伸缩,ALB自动感知新实例并纳入流量
💡 简短示例回答
ASG通过Launch Template创建EC2实例,自动关联ALB目标组完成注册。ALB执行健康检查,异常实例触发ASG替换。伸缩策略基于CloudWatch指标调整期望容量,新实例自动接收ALB流量分发,实现弹性高可用。
🔍 可能追问
- 如何配置蓝绿部署?ASG生命周期钩子有什么用途?
- NLB与ALB在健康检查机制上有何差异?
- 如何实现跨区域负载均衡?
⚠️ 避坑提醒
健康检查阈值和冷却时间需配合业务启动时间,避免实例未就绪就被注册;ASG应跨多个可用区部署,确保单AZ故障时流量仍可分发。
Q3:设计一个电商平台秒杀活动的弹性伸缩方案,应对流量突增。
🎯 面试官考察点
- 弹性伸缩架构设计的系统性思维
- 指标选择与策略配置是否合理
- 是否考虑成本优化和冷启动问题
🧩 回答框架
- 流量预估:根据历史数据设定弹性上下限边界
- 策略设计:采用目标追踪伸缩策略(基于ALB请求数/CPU)
- 预热机制:Scheduled Action活动前预扩容 + 实例预热配置
- 成本优化:混合使用On-Demand与Spot实例,设置Fallback策略
💡 简短示例回答
采用目标追踪策略基于ALB请求数伸缩,设置弹性边界(如200-5000台)。使用Scheduled Action在活动前30分钟预扩容,结合Spot实例降低40%成本。配置健康检查和冷却时间防止震荡,确保秒杀流量平稳应对。
🔍 可能追问
- 流量陡降时如何避免缩容过快导致服务抖动?
- 如何防止伸缩震荡(频繁扩缩)?
- Spot实例被回收时的Fallback机制如何设计?
⚠️ 避坑提醒
冷却时间过短会导致伸缩震荡,建议根据业务启动时间设置为60-120秒;安全组和子网配置影响新实例注册速度;Spot实例必须