Q8 — AWS SAA-C03 第16章

第 8/100 题 | ← 返回第16章

Q1208. 一家公司有一个应用程序在五个 Amazon EC2 实例上运行。这些实例在应用程序负载均衡器 (ALB) 后面运行。该应用程序处理来自 Amazon 简单队列服务 (Amazon SQS) 队列的消息。在即将到来的折扣季节,该公司预计每天的平均用户数量会增加。高峰时段用户数量将翻倍,并导致 SQS 队列中的消息增多。解决方案架构师应该怎么做才能最经济有效地应对用户流量的增加?

正确答案: D. 创建 EC2 Auto Scaling 组。将现有的 EC2 实例添加到 Auto Scaling 组。将 ALB 的目标更新为 Auto Scaling 组。配置 Auto Scaling 组根据 SQS 队列中的消息数量进行缩减或扩展。

解析

为了以最经济的方式应对即将到来的折扣季节的用户流量增长,解决方案架构师应采取以下方法:D. 创建 EC2 Auto Scaling 组。将现有的 EC2 实例添加到 Auto Scaling 组。将 ALB 的目标更新为 Auto Scaling 组。配置 Auto Scaling 组根据 SQS 队列中的消息数量进行缩减或扩展。分析:EC2 自动扩展组:可扩展性:通过创建 Auto Scaling 组,应用程序可以根据需求自动调整 EC2 实例的数量。这确保应用程序无需人工干预即可在高峰时段处理增加的流量。成本效益:Auto Scaling 允许公司仅支付实际使用的计算资源费用。在非高峰时段,可以减少实例数量,从而降低成本。将现有 EC2 实例添加到 Auto Scaling 组:利用现有资源:通过将现有的 EC2 实例添加到 Auto Scaling 组,公司可以利用其现有基础设施,避免预先购买额外的实例。将 ALB 的目标更新为自动扩展组:负载平衡:通过更新应用程序负载均衡器 (ALB) 以定位自动扩展组,ALB 可以将传入流量均匀地分配到组中的所有活动实例,从而确保高可用性和改进的性能。根据 SQS 队列中的消息数量进行扩展:直接扩展触发器:将 Auto Scaling 组配置为根据 SQS 队列中的消息数量进行扩展或缩减,可确保 EC2 实例的数量与工作负载成正比。这比基于 CPU 利用率进行扩展更高效,因为它直接解决了流量增加的根本原因(队列中的消息数量)。为什么其他选择不适合:A.基于平均 CPU 利用率进行扩展:间接扩展触发器:在这种情况下,基于 CPU 利用率进行扩展可能并非最有效的方法,因为流量的增长是由 SQS 队列中的消息数量驱动的,而不一定是由实例上的 CPU 负载驱动的。基于 CPU 利用率进行扩展可能会导致资源配置不足或过度。B. 将 SQS 队列容量加倍并添加更多 EC2 实例:手动干预:这种方法需要手动干预才能添加更多实例,效率和成本效益不如使用 Auto Scaling。此外,它不提供根据实际工作负载动态调整实例数量的方法。C. 将 SQS 队列的容量加倍,并将 EC2 实例的内存加倍:资源利用效率低下:将 EC2 实例的内存增加一倍可能没有必要,也不符合成本效益,尤其是在瓶颈与内存无关的情况下。此外,这种方法无法提供能够自动适应工作负载变化的可扩展解决方案。