4. 计算服务专题:EC2实例类型、Auto Scaling、负载均衡、弹性伸缩场景

本章聚焦AWS计算服务的面试高频考点:EC2实例选型方法论、Auto Scaling与负载均衡的协同机制、弹性伸缩架构设计。内容覆盖实例族系对比、伸缩策略配置、高可用架构落地,帮助你在面试中快速建立系统化的回答路径。

分析工作负载特征 计算密集型 内存密集型 存储密集型 通用型 C系列 视频转码·批处理 R/X系列 缓存·内存数据库 I/D系列 数据库·大数据 M系列 Web服务·微服务 选型方法论:匹配负载 → 验证性能 → 优化成本

Q1:如何为不同业务场景选择合适的EC2实例类型?请举例说明。

🎯 面试官考察点

  • 对EC2实例族谱的掌握程度
  • 是否具备场景化选型方法论
  • 能否兼顾性能与成本优化

🧩 回答框架

  1. 分类定位:分析工作负载是CPU/内存/存储密集型还是通用型
  2. 匹配场景:选择对应实例族系(C/R/I/M系列)
  3. 考虑变体:评估网络增强型、ARM变体(Graviton)等优化选项
  4. 验证调整:通过压测验证性能,持续优化实例规格

💡 简短示例回答

先分析工作负载特征:计算密集型选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集成机制的理解深度
  • 健康检查与生命周期管理是否清晰
  • 能否描述完整的流量分发链路

🧩 回答框架

  1. 注册发现:ASG通过Launch Template创建实例,自动注册到ALB目标组
  2. 健康检查:ALB定期检测实例健康状态,异常实例触发ASG替换
  3. 流量分发:ALB按规则将请求分发至健康实例
  4. 弹性联动:CloudWatch指标驱动ASG伸缩,ALB自动感知新实例并纳入流量

💡 简短示例回答

ASG通过Launch Template创建EC2实例,自动关联ALB目标组完成注册。ALB执行健康检查,异常实例触发ASG替换。伸缩策略基于CloudWatch指标调整期望容量,新实例自动接收ALB流量分发,实现弹性高可用。

🔍 可能追问

  • 如何配置蓝绿部署?ASG生命周期钩子有什么用途?
  • NLB与ALB在健康检查机制上有何差异?
  • 如何实现跨区域负载均衡?

⚠️ 避坑提醒

健康检查阈值和冷却时间需配合业务启动时间,避免实例未就绪就被注册;ASG应跨多个可用区部署,确保单AZ故障时流量仍可分发。

Q3:设计一个电商平台秒杀活动的弹性伸缩方案,应对流量突增。

🎯 面试官考察点

  • 弹性伸缩架构设计的系统性思维
  • 指标选择与策略配置是否合理
  • 是否考虑成本优化和冷启动问题

🧩 回答框架

  1. 流量预估:根据历史数据设定弹性上下限边界
  2. 策略设计:采用目标追踪伸缩策略(基于ALB请求数/CPU)
  3. 预热机制:Scheduled Action活动前预扩容 + 实例预热配置
  4. 成本优化:混合使用On-Demand与Spot实例,设置Fallback策略

💡 简短示例回答

采用目标追踪策略基于ALB请求数伸缩,设置弹性边界(如200-5000台)。使用Scheduled Action在活动前30分钟预扩容,结合Spot实例降低40%成本。配置健康检查和冷却时间防止震荡,确保秒杀流量平稳应对。

🔍 可能追问

  • 流量陡降时如何避免缩容过快导致服务抖动?
  • 如何防止伸缩震荡(频繁扩缩)?
  • Spot实例被回收时的Fallback机制如何设计?

⚠️ 避坑提醒

冷却时间过短会导致伸缩震荡,建议根据业务启动时间设置为60-120秒;安全组和子网配置影响新实例注册速度;Spot实例必须