Q28 — AWS SAP-C02 第1章
第 28/75 题 | ← 返回第1章
Q103. 一家公司有一个在 Application Load Balancer (ALB) 后面的一组 Amazon EC2 实例上运行的多层 Web 应用程序。实例在一个 Auto Scaling 组中。ALB 和 Auto Scaling 组在备份 AWS 区域中进行了复制。Auto Scaling 组的最小值和最大值设为零。Amazon RDS 多可用区数据库实例存储应用程序的数据。数据库实例在备份区域有一个只读副本。应用程序使用 Amazon Route 53 记录向最终用户提供端点。公司需要将 RTO 减少到 15 分钟以内,使应用程序能够自动故障转移到备份区域。公司的预算不足以采用主动-主动策略。解决方案架构师应该推荐什么来满足这些要求?
- A. 使用基于延迟的路由策略重新配置应用程序的 Route 53 记录,在两个 ALB 之间负载均衡流量。在备份区域创建 AWS Lambda 函数以提升只读副本并修改 Auto Scaling 组的值。创建基于主区域 ALB 的 HTTPCode_Target_5XX_Count 指标的 Amazon CloudWatch 警报。配置 CloudWatch 警报以调用 Lambda 函数。
- B. 在备份区域创建 AWS Lambda 函数以提升只读副本并修改 Auto Scaling 组的值。配置 Route 53 健康检查来监控 Web 应用程序,当健康检查状态不健康时发送 Amazon Simple Notification Service (Amazon SNS) 通知到 Lambda 函数。使用故障转移策略更新应用程序的 Route 53 记录,在健康检查失败时将流量路由到备份区域的 ALB。 ✓
- C. 配置备份区域的 Auto Scaling 组与主区域的 Auto Scaling 组具有相同的值。使用基于延迟的路由策略重新配置应用程序的 Route 53 记录,在两个 ALB 之间负载均衡流量。移除只读副本。用独立的 RDS 数据库实例替换只读副本。使用快照和 Amazon S3 配置 RDS 数据库实例之间的跨区域复制。
- D. 在 AWS Global Accelerator 中配置一个端点,将两个 ALB 作为等权重目标。在备份区域创建 AWS Lambda 函数以提升只读副本并修改 Auto Scaling 组的值。创建基于主区域 ALB 的 HTTPCode_Target_5XX_Count 指标的 Amazon CloudWatch 警报。配置 CloudWatch 警报以调用 Lambda 函数。
正确答案: B. 在备份区域创建 AWS Lambda 函数以提升只读副本并修改 Auto Scaling 组的值。配置 Route 53 健康检查来监控 Web 应用程序,当健康检查状态不健康时发送 Amazon Simple Notification Service (Amazon SNS) 通知到 Lambda 函数。使用故障转移策略更新应用程序的 Route 53 记录,在健康检查失败时将流量路由到备份区域的 ALB。
解析
为实现 15 分钟以内 RTO 的自动故障转移,推荐的解决方案是: B. 在备份区域创建 AWS Lambda 函数以提升只读副本并修改 Auto Scaling 组的值。配置 Route 53 健康检查来监控 Web 应用程序,当健康检查状态不健康时发送 Amazon Simple Notification Service (Amazon SNS) 通知到 Lambda 函数。使用故障转移策略更新应用程序的 Route 53 记录,在健康检查失败时将流量路由到备份区域的 ALB。 说明: 选项 B 提供了自动故障转移解决方案: 1. Route 53 健康检查持续监控主区域的应用程序。 2. 当检测到故障时,SNS 通知触发 Lambda 函数来提升只读副本并启动备份区域的 Auto Scaling 组。 3. Route 53 故障转移路由策略自动将流量重定向到备份区域的 ALB。 4. 这些自动化步骤可以在 15 分钟内完成,满足 RTO 要求。 选项 A 不正确,基于延迟的路由不适合故障转移场景,且 CloudWatch 警报不能替代 Route 53 健康检查的故障转移功能。 选项 C 不正确,主动-主动配置不符合预算限制。 选项 D 不正确,Global Accelerator 增加了不必要的复杂性。