Senior AWS Cloud Engineer 面试题与答案

Milad Bonakdar
作者
通过实用问题准备 Senior AWS Cloud Engineer 面试,覆盖架构、网络、Auto Scaling、Lambda、成本优化、IAM 安全、RDS 和生产故障排查。
介绍
Senior AWS Cloud Engineer 面试通常考察你如何做生产环境取舍,而不只是能否说出服务名称。你需要说明架构选择、安全模型、成本影响、故障恢复计划,以及上线后如何运营和排查问题。
本指南提供高级 AWS 面试问题和实用回答,覆盖架构、网络、计算、成本优化、IAM 安全、数据库、监控和故障排查。
架构与设计
1. 在 AWS 上设计一个高可用性的多层 Web 应用程序。
回答: 一个生产就绪的多层架构需要冗余、可扩展性和安全性:
关键组件:
1. DNS & CDN:
2. 负载均衡和自动伸缩:
3. 数据库与缓存:
- RDS Multi-AZ 用于高可用性
- 读取副本用于读取扩展
- ElastiCache 用于会话/数据缓存
设计原则:
- 跨多个可用区部署
- 尽可能使用托管服务
- 实施自动伸缩
- 使用安全组隔离层
- 使用 S3 存储静态内容
常见程度: 非常普遍 难度: 困难
2. 解释 VPC Peering 及其使用场景。
回答: VPC Peering(VPC 对等连接) 使用 AWS 网络私下连接两个 VPC。
特点:
- 私有连接(无需互联网)
- 无单点故障
- 无带宽瓶颈
- 支持跨区域对等连接
- 非传递性(A↔B,B↔C 不意味着 A↔C)
使用场景:
- 连接生产和管理 VPC
- 跨 VPC 共享资源
- 多账户架构
- 混合云连接
替代方案:
- Transit Gateway(传输网关): 中心辐射型,传递路由
- PrivateLink: 服务到服务的连接
- VPN: 加密连接
常见程度: 常见 难度: 中等
高级计算
3. Auto Scaling 如何工作?如何优化它?
回答: Auto Scaling 根据需求自动调整容量。
伸缩策略:
1. 目标跟踪:
2. 步进伸缩:
3. 计划伸缩:
优化策略:
- 对已知模式使用预测伸缩
- 设置适当的冷却时间
- 监控伸缩指标
- 使用混合实例类型
- 实施生命周期挂钩以实现优雅关闭
常见程度: 非常普遍 难度: 中等到困难
无服务器与高级服务
4. 何时使用 Lambda vs EC2?
回答: 根据工作负载特性进行选择:
在以下情况下使用 Lambda:
- 事件驱动型工作负载
- 短时间运行的任务(< 15 分钟)
- 可变/不可预测的流量
- 希望零服务器管理
- 针对零星使用的成本优化
在以下情况下使用 EC2:
- 长时间运行的进程
- 需要完全的操作系统控制
- 特定软件要求
- 持续的高负载
- 有状态的应用程序
Lambda 示例:
成本比较:
- Lambda:按请求次数 + 持续时间付费
- EC2:按运行时间付费(即使空闲)
常见程度: 常见 难度: 中等
成本优化
5. 如何优化 AWS 成本?
回答: 高级候选人的回答应把成本优化视为持续运营流程,而不是一次性清理:
策略:
1. 调整实例大小:
2. 预留实例和 Savings Plans:
- 1 年或 3 年承诺
- 与按需实例相比,最多可节省 72%
- 在检查 Cost Explorer 建议、现有承诺和未来路线图变化后,用于稳定的计算负载
3. Spot 实例:
4. S3 生命周期策略:
5. 自动伸缩:
- 在非工作时间缩减
- 使用预测伸缩
6. 监控:
- AWS Cost Explorer
- 预算警报
- 标记资源以进行成本分配
常见程度: 非常普遍 难度: 中等
安全与合规
6. 如何在 AWS 上实施纵深防御?
回答: 高级回答应在每一层结合预防控制、检测和快速响应:
层:
1. 网络安全:
2. 身份与访问:
- 对人员和工作负载优先使用联合身份和临时凭证
- 对仍然存在的长期凭证或 root 凭证强制 MFA
- 授予最小权限,并定期审查未使用权限
- 使用 IAM Access Analyzer 验证策略,并识别公开、跨账户或未使用访问
3. 数据保护:
- 静态加密 (KMS)
- 传输中加密 (TLS)
- S3 存储桶策略
- RDS 加密
4. 监控与日志记录:
5. 合规:
- 用于合规监控的 AWS Config
- 用于集中查找结果的 Security Hub
- 用于威胁检测的 GuardDuty
常见程度: 非常普遍 难度: 困难
数据库服务
7. 解释 RDS Multi-AZ vs Read Replicas,以及何时使用它们。
回答: 两者都提供冗余,但服务于不同的目的:
Multi-AZ 部署:
- 目的: 高可用性和灾难恢复
- 同步复制到不同可用区中的备用数据库
- 自动故障转移(1-2 分钟)
- 故障转移后相同的端点
- 标准 RDS Multi-AZ DB 实例不会从 standby 提供读取;Multi-AZ DB 集群可以提供可读 standby,因此需要明确具体 RDS 拓扑
- 增加 standby 容量和存储成本;应与恢复要求一起评估
读取副本:
- 目的: 扩展读取操作
- 异步复制
- 多个副本可能(Aurora 最多 15 个)
- 每个副本不同的端点
- 可以在不同的区域
- 可以提升为独立数据库
比较表:
最佳实践: 一起使用
- Multi-AZ 用于高可用性
- 读取副本用于读取扩展
常见程度: 非常普遍 难度: 中等到困难
8. 如何以最小的停机时间实施数据库迁移?
回答: 生产系统的数据库迁移策略:
策略 1:AWS DMS(数据库迁移服务)
迁移阶段:
1. 完全加载:
- 复制现有数据
- 可能需要数小时/数天
- 应用程序仍在使用源数据库
2. CDC(变更数据捕获):
- 复制正在进行的更改
- 使目标数据库保持同步
- 最小延迟(秒)
3. 切换:
策略 2:蓝绿部署
停机时间比较:
- DMS: < 1 分钟(仅切换)
- 蓝绿: < 30 秒(DNS 切换)
- 传统转储/恢复: 数小时到数天
常见程度: 常见 难度: 困难
监控与故障排除
9. 如何排除 AWS 成本过高的问题?
回答: 成本优化需要系统分析:
调查步骤:
1. 使用 Cost Explorer:
2. 识别成本异常:
3. 资源清理脚本:
4. 设置成本警报:
快速获胜:
- 删除未附加的 EBS 卷
- 停止/终止空闲 EC2 实例
- 使用 S3 Intelligent-Tiering
- 启用 S3 生命周期策略
- 对非关键工作负载使用 Spot 实例
- 调整过度配置的实例大小
常见程度: 非常普遍 难度: 中等
高级网络
10. 解释 AWS Transit Gateway 及其使用场景。
回答: Transit Gateway(传输网关) 是一种中心辐射型网络拓扑服务,可简化网络架构。
没有 Transit Gateway:
问题: N² 个连接(网状拓扑)
使用 Transit Gateway:
解决方案: 中心辐射型(N 个连接)
主要特点:
- 传递路由: A→TGW→B→TGW→C 可用
- 集中管理
- 最多支持 5,000 个 VPC
- 跨区域对等连接
- 用于流量控制的路由表
设置:
使用场景:
1. 多 VPC 架构:
2. 网络分段:
3. 多区域连接:
成本考虑因素:
- attachment 和数据处理会产生费用,集中化前应估算流量
- 集中式 inspection、NAT 和跨区域路由可能快速改变账单
- 在选择 Transit Gateway、VPC Peering 或 PrivateLink 前,检查当前区域价格
替代方案:
- VPC Peering: 适用于少数 VPC,更简单、更便宜
- PrivateLink: 服务到服务的连接
- VPN: 直接连接
常见程度: 常见 难度: 困难
结论
高级 AWS 云工程师面试需要深入的技术知识和实践经验。重点关注:
- 架构: 多层设计、高可用性、灾难恢复
- 高级网络: VPC 对等连接、Transit Gateway、PrivateLink
- 计算: Auto Scaling 优化、Lambda vs EC2 决策
- 成本优化: 调整实例大小、预留实例、生命周期策略
- 安全: 纵深防御、IAM 最佳实践、加密
- 卓越运营: 监控、日志记录、自动化
每个回答都应结合生产示例:你做出的取舍、预判的故障模式、监控的指标,以及下一步会改进什么。


