Q39 — AWS SAA-C03 第5章
第 39/65 题 | ← 返回第5章
Q339.一家公司聘请了一名解决方案架构师为其应用程序设计可靠的架构.该应用程序包含一个 Amazon RDS 数据库实例和两个手动配置的运行 Web 服务器的 Amazon EC2 实例. EC2 实例位于单个可用区中.员工最近删除了数据库实例,导致应用程序 24 小时不可用.公司关注其环境的整体可靠性.解决方案架构师应该怎么做才能最大限度地提高应用程序基础架构的可靠性?
- A. 删除一个 EC2 实例并在另一个 EC2 实例上启用终止保护.将数据库实例更新为多可用区,并启用删除保护.
- B. 更新数据库实例为Multi-AZ,并开启删除保护.将 EC2 实例放在 Application Load Balancer 后面,并在跨多个可用区的 EC2 Auto Scaling 组中运行它们. ✓
- C. 创建一个额外的数据库实例以及一个 Amazon API 网关和一个 AWS Lambda 函数.配置应用程序以通过 API 网关调用 Lambda 函数.让 Lambda 函数将数据写入两个数据库实例.
- D. 将 EC2 实例放置在 EC2 Auto Scaling 组中,该组具有位于多个可用区的多个子网.使用 Spot 实例而不是按需实例.设置 Amazon CloudWatch 警报以监控实例的运行状况.将数据库实例更新为多可用区,并启用删除保护.
正确答案: B. 更新数据库实例为Multi-AZ,并开启删除保护.将 EC2 实例放在 Application Load Balancer 后面,并在跨多个可用区的 EC2 Auto Scaling 组中运行它们.
解析
选项 B 是最大化应用程序基础结构可靠性的最合适的解决方案.选项 A 只为 EC2 实例提供了一定程度的保护,但没有解决被删除的数据库实例的问题.选项 C 通过添加额外的数据库实例、API 网关和 Lambda 函数引入了不必要的复杂性.选项 D 为 EC2 实例提供了一定程度的保护,但没有解决已删除的数据库实例的问题.此外,使用 Spot 实例而不是按需实例可能会给环境带来更多的不可预测性.因此,选项 B 是最佳解决方案,因为它利用数据库实例的多可用区部署来提供自动故障转移和冗余,启用删除保护以防止数据库实例被意外删除,将 EC2 实例置于应用程序负载均衡器后面以分配流量并确保高可用性,并在跨多个可用区的 Auto Scaling 组中运行 EC2 实例,以在出现故障时自动启动新实例.