Q70 — AWS SAA-C03 第17章

第 70/89 题 | ← 返回第17章

Q1370. 一位解决方案架构师正在设计一个包含 Web 层、应用层和数据库层的架构。Web 层必须具备自动扩展能力。该架构师决定将每一层都划分到各自的子网中。该设计包含两个公有子网和四个私有子网。安全团队要求各层级之间只有在有业务需要时才能相互通信,所有其他网络流量都应被阻止。解决方案架构师应该如何做才能满足这些要求?

正确答案: C. 为每个层级创建特定的安全组,以限制流量仅限于所需的源和目标。

解析

让我们分析每种方案,以确定解决方案架构师满足给定要求的最佳方法:选项 A:创建 Amazon GuardDuty 源/目标规则集来控制通信。Amazon GuardDuty 是一种威胁检测服务,它会持续监控恶意活动和未经授权的行为,以保护 AWS 账户、工作负载和数据。它并非旨在控制应用程序不同层级之间的源-目标通信。GuardDuty 的重点在于检测安全威胁,而不是强制执行网络级访问控制策略。因此,此选项不正确。方案 B:为所有层级创建一个安全组,以限制流量仅限于所需的源和目标。使用单个安全组来管理所有层级(Web 层、应用层和数据库层)无法提供必要的粒度。不同层级的通信需求各不相同。例如,Web 层可能需要与应用层通信,应用层可能需要与数据库层通信,但在大多数情况下,Web 层不应直接访问数据库层。单个安全组无法有效地强制执行这些层级特定的访问规则。因此,该方案不正确。方案C:为每个层级创建特定的安全组,以限制流量仅限于所需的源和目标。安全组充当 Amazon EC2 实例的虚拟防火墙。通过为每个层(Web 层、应用程序层和数据库层)创建特定的安全组,解决方案架构师可以定义入站和出站规则,仅在存在业务需求时才允许通信。例如,可以将 Web 层的安全组配置为允许来自 Internet 的入站流量(如果需要),并且仅允许出站流量访问应用程序层。应用程序层的安全组可以设置为允许来自 Web 层的入站流量,并且仅允许出站流量访问数据库层。这种方法提供了必要的粒度,并满足了安全团队仅在存在业务需求时才允许通信的要求。因此,此选项是正确的。方案 D:在所有六个子网中创建网络访问控制列表 (ACL),以限制应用程序运行所需的源地址和目标地址的流量。网络访问控制列表 (NACL) 是无状态防火墙,运行在子网级别。虽然 NACL 可以用于控制流量,但其粒度不如安全组精细。安全组是有状态的,这意味着如果允许入站请求,则相应的出站响应也会自动允许。NACL 需要为入站和出站流量都设置明确的规则。此外,管理所有六个子网的 NACL 以强制执行特定层级的通信规则可能既复杂又容易出错。安全组是控制应用程序不同层级之间流量的更合适选择。因此,此选项不正确。因此,解决方案架构师应该为每个层级创建特定的安全组,以将流量限制在所需的源和目标,答案是 C。