Q33 — AWS SAA-C03 第17章
第 33/89 题 | ← 返回第17章
Q1333. 一家公司正在将一款传统数据处理应用程序迁移到 AWS 云。该应用程序需要在应用程序负载均衡器 (ALB) 后面的 Amazon EC2 实例上运行。该应用程序必须能够应对突发流量高峰,并且在某个可用区中的应用程序发生故障时仍能继续运行。该公司要求必须在 ALB 上附加 Web 应用程序防火墙 (WAF)。哪种解决方案能够满足这些要求?
- A. 将应用程序部署到位于单个可用区中的自动扩展组中的 EC2 实例。使用应用程序负载均衡器 (ALB) 将流量分配到各个 EC2 实例。使用 AWS WAF 将 Web ACL 与 ALB 关联。
- B. 将应用程序部署到跨多个可用区的自动扩展组中的 EC2 实例。使用应用程序负载均衡器 (ALB) 将流量分配到各个 EC2 实例。使用 AWS WAF 将 Web ACL 与 ALB 关联。 ✓
- C. 将应用程序部署到跨多个 AWS 区域的 Auto Scaling 组中的 EC2 实例。使用 Amazon Route 53 基于延迟的路由将流量分配到各个 Auto Scaling 组。使用 AWS WAF 将 Web ACL 与 Route 53 路由配置关联起来。
- D. 将应用程序部署到跨多个可用区的自动扩展组中的 EC2 实例。使用网络负载均衡器 (NLB) 将流量分配到各个 EC2 实例。使用 AWS WAF 将 Web ACL 与 NLB 关联。
正确答案: B. 将应用程序部署到跨多个可用区的自动扩展组中的 EC2 实例。使用应用程序负载均衡器 (ALB) 将流量分配到各个 EC2 实例。使用 AWS WAF 将 Web ACL 与 ALB 关联。
解析
正确答案:B将应用程序部署到跨多个可用区的自动扩展组中的 EC2 实例。使用应用程序负载均衡器 (ALB) 将流量分配到各个 EC2 实例。使用 AWS WAF 将 Web ACL 与 ALB 关联。为什么这个方案满足所有要求?该公司需要一个可扩展、高可用且安全的架构来支持其传统数据处理应用程序。让我们来分析一下方案 B 如何满足每一项要求:1. 处理流量高峰(可扩展性)跨多个可用区的自动扩展组 (ASG) 会根据流量需求自动调整 EC2 实例的数量。如果流量增加,ASG 会启动新的实例;如果流量减少,它会终止未使用的实例,从而优化成本和性能。2. 即使可用区发生故障,也能继续工作(高可用性)多可用区部署可确保如果一个可用区 (AZ) 不可用,流量会自动重新路由到其他可用区中的正常实例。应用程序负载均衡器 (ALB) 将流量分配到所有运行正常的实例上,防止停机。3. Web应用程序防火墙(WAF)保护AWS WAF 与 ALB(而非 NLB 或 Route 53)集成,用于过滤和阻止恶意流量(例如 SQL 注入、XSS 攻击)。Web 访问控制列表 (Web ACL) 定义了一些规则,用于保护应用程序免受常见的 Web 攻击。\4. 正确选择负载均衡器(ALB、NLB 和 Route 53)ALB 是最佳选择,因为:Route 53 运行于第 7 层(HTTP/HTTPS),支持高级路由(例如,基于路径、基于主机的路由)。它支持 AWS WAF 集成(与运行于第 4 层的 NLB 不同)。Route 53 基于延迟的路由(选项 C)对于区域内故障转移而言并非必要,并且不直接支持 WAF。其他方案为何失败?A. 单可用区部署没有高可用性——如果单个可用区发生故障,应用程序就会停止运行。WAF集成正确,但容错能力不足。C. 采用 Route 53 延迟路由的多区域对于可用区级故障转移而言,这有点过度设计——多区域部署是为了实现全局弹性,而不是应对本地可用区故障。AWS WAF 无法连接到 Route 53——WAF 只能与 ALB/CloudFront/API Gateway 配合使用。成本和复杂性更高——对于当前需求而言,这完全没有必要。D. 带有 Web 应用防火墙 (WAF) 的网络负载均衡器 (NLB)。AWS WAF 不支持 NLB——WAF 仅支持 ALB、CloudFront 和 API Gateway。NLB 运行在第四层(TCP/UDP)——缺乏 ALB 的高级路由功能。最终架构图互联网AWS WAF(Web ACL) AWS WAF(Web ACL)应用负载均衡器 应用负载均衡器(ALB - 多可用区) (ALB - 多可用区)自动伸缩组 (AZ-A) 自动伸缩组 (AZ-B)EC2 EC2 EC2 EC2要点总结多可用区自动扩展组,高可用性和可扩展性,ALB + AWS WAF,安全流量分发和保护对于此用例,请避免使用基于单可用区、NLB 或 Route 53 的 WAF。该解决方案确保应用程序在满足所有既定要求的同时,保持可扩展性、高可用性和安全性。