Q52 — AWS SAA-C03 第15章

第 52/100 题 | ← 返回第15章

Q1152. 一家杀毒公司希望为 us-east-1 区域的 AWS 账户所有者提供一款病毒扫描应用程序。该应用程序在 VPC 中的一组 Amazon EC2 实例上运行。该应用程序通过自定义 TCP 端口接收数据文件,进行病毒扫描,并将结果返回给调用者。该公司需要设计一个可以处理数千名用户的可扩展解决方案。哪种解决方案可以满足这些要求?

正确答案: B. 将运行防病毒应用程序的 EC2 实例注册到与网络负载均衡器 (NLB) 关联的目标组中。创建 AWS PrivateLink 终端节点服务。将 PrivateLink 终端节点与 NLB 关联。确保用户使用每个用户账户中的 PrivateLink 终端节点连接到该应用程序。

解析

为了为防病毒公司的应用程序设计一个可扩展的解决方案,以处理 us-east-1 区域中的数千名用户,我们需要考虑以下要求:该应用程序在 VPC 中的 EC2 实例上运行。它通过自定义 TCP 端口接收数据文件,扫描病毒并返回结果。该解决方案必须具备可扩展性,以处理数千名用户。这些用户可以位于不同的 AWS 账户,甚至位于 AWS 之外(尽管这些方案主要关注基于 AWS 的解决方案)。主要考虑因素:可扩展性:解决方案必须高效地将流量分配到 EC2 实例。安全性:除非必要,解决方案应避免将应用程序暴露在公共互联网上(尽管问题本身并未明确禁止这样做)。方便用户使用:解决方案应为用户提供一种简单的应用程序连接方式。自定义 TCP 端口:应用程序使用自定义 TCP 端口,因此负载均衡器必须支持该端口(ALB 不支持自定义 TCP 端口;NLB 支持)。选项评估:选项 A:将 EC2 实例注册到与公共 ALB 关联的目标组中。用户通过 ALB 的 DNS 名称进行连接。优点:ALB 具有高度可用性和可扩展性。缺点:ALB 不支持自定义 TCP 端口(它仅支持 HTTP/HTTPS、HTTP/2 和 WebSocket)。该应用程序使用自定义 TCP 端口,因此这种方式并不适用。通过公共 ALB 将应用程序暴露到公共互联网上可能并不安全(尽管问题本身并未明确禁止这样做)。结论:由于需要自定义 TCP 端口,因此不适用。选项 B:将 EC2 实例注册到与 NLB 关联的目标组中。创建 AWS PrivateLink 终端节点服务并将其与 NLB 关联。用户通过其账户中的 PrivateLink 终端节点进行连接。优点:NLB 支持自定义 TCP 端口,非常适合该应用程序。AWS PrivateLink 可在服务与用户 VPC 之间提供安全的私有连接,无需穿越公共互联网。高度可扩展并支持数千名用户(每个用户可以在自己的帐户中创建一个 PrivateLink 端点)。服务提供商(防病毒公司)不需要为每个用户管理 VPC 对等连接或传输网关。缺点:初始设置略微复杂,但服务提供商只需支付一次性费用。结论:这是最具可扩展性、安全性和用户友好的解决方案。选项 C:将 VPC 连接到 Transit Gateway。为每个用户创建一个新的 VPC 连接。更新路由表。优点:提供服务 VPC 和用户 VPC 之间的连接。缺点:为每个用户管理一个传输网关和一个新的连接,对于数千名用户来说,是不可扩展的。这将使操作变得复杂且成本高昂。本身不支持自定义 TCP 端口(虽然服务 VPC 中的 NLB 可以处理此问题,但 Transit Gateway 方法并不适合此用例)。结论:由于操作复杂性,不适用于数千名用户的情况。选项 D:使用 VPC 对等连接将服务 VPC 连接到每个用户的 VPC。更新路由表。优点:提供 VPC 之间的直接连接。缺点:VPC 对等连接无法很好地扩展到数千个用户(每个用户都需要单独的对等连接,这是不可行的)。本身不支持自定义 TCP 端口(尽管服务 VPC 中的 NLB 可以处理这个问题,但对等连接方法并不适合这种用例)。结论:由于可扩展性限制,不适合数千名用户。最终答案:B. 将运行防病毒应用程序的 EC2 实例注册到与网络负载均衡器 (NLB) 关联的目标组中。创建 AWS PrivateLink 终端节点服务。将 PrivateLink 终端节点与 NLB 关联。确保用户使用每个用户账户中的 PrivateLink 终端节点连接到该应用程序。此解决方案是满足特定需求的最具可扩展性、安全性和用户友好的解决方案。它利用 NLB 对自定义 TCP 端口的支持以及 AWS PrivateLink,在服务与用户 VPC 之间建立安全的私有连接。