AWS网络防火墙+网络负载均衡器架构问题

问题描述 投票:0回答:1

我们正在 AWS 中实施一个自定义 Web 应用程序,我们希望该应用程序设计精良、可靠且安全,同时保持在有限的预算范围内。理想情况下,我们实现的架构将为我们未来的构建和发展提供坚实的基础,或者至少为我们提供一些未来可以发展的架构的经验。

主要注意事项:

  • 我们目前仅在一个区域进行部署。这种情况可能会在 2025 年发生改变,但目前我们坚持这样做。
  • 此架构中也有一个 RDS 数据库,但它未包含在图中。
  • 我们希望实施集中式 AWS Web 应用程序网络防火墙来检查流量。
  • 网络负载均衡是我们的首选解决方案,可确保加密流量一直到达 EC2 实例。
  • 负载均衡器的原因是为了支撑流量,同时也是为了维护和升级。就我们的流量而言,每周的请求量在50K到100K左右,但是返回的结果是大数据表。
  • 当用户发出请求时,我们的应用程序必须能够向另一个系统发出出站 API 调用,以获取该用户的其他数据。我不太确定如何在负载平衡环境中使其工作,但我知道它与 NAT 网关有关。

下面是我们想法的简化图。我们将不胜感激您提供的任何反馈,尤其是围绕这些问题的反馈。

  1. 通过测试我们知道,如果 EC2 实例没有公共 IP 地址,则无法从该实例进行出站 API 调用,无论是为 EC2 实例分配公共 IP 地址(坏主意)还是具有某种类型的 NAT 功能。问题是,网络防火墙是否提供 NAT 功能,还是我们需要单独的 NAT 网关?
  2. 当我们实施网络防火墙时,看起来 TLS 已在防火墙中卸载。如果是这样,我们如何在传输到 EC2 实例的整个过程中保持加密?
  3. 如果我们提出的想法确实很糟糕,请为我们指明替代架构的方向,以更好地服务于我们想要实现的目标。

很高兴回答问题。预先感谢您的帮助!

mb87

amazon-web-services amazon-ec2 web-application-firewall network-load-balancer
1个回答
0
投票
  1. 网络防火墙目前没有 NAT 选项。它将需要依赖 EC2 自己的映射公共 IP 或 NAT 网关来促进互联网绑定通信

  2. 网络防火墙上的“TLS 检查”(不是“卸载”)是一项可选功能,预计在您托管 TLS 服务时使用。例如:您正在托管一个 Web 应用程序,并且证书(和私钥)已添加到 ACM。对于出口访问,您可以执行类似的检查,但您需要将私有 CA 添加到 ACM,然后您的 EC2 也需要信任此 CA。如果不是严格要求,我建议避免这种情况并坚持基于域/SNI 的规则。

  3. 您可以将其设置为简单的平面设置,其中入口/出口流程如下:

客户端访问: 客户端 –[Internet]--> IGW > 网络防火墙 > NLB > 目标 [EC2]

来自 EC2 的 API 调用: EC2 > NAT GW > 网络防火墙 > IGW >--[Internet]--> 服务器

您需要有各自的规则来涵盖双向流。

设置将如 AWS 文档中所示,并且其中解释了其中一项部署链接

© www.soinside.com 2019 - 2024. All rights reserved.