如何控制AWS网络负载均衡器的来源?



关于AWS中NLB的2个问题

  1. 我需要在运行MYSQL的EC2前面使用NLB。此EC2位于私有网络中。我只是想允许NLB被某些特定的互联网IP访问。如果是ALB,我可以使用安全组来完成此操作。但是,如果在NLB中没有安全组,我如何实现这一点?

  2. 在这个设置中,我从我的PC连接到NLB并到达MYSQL EC2。为了使其成功,我发现我必须在EC2安全组的传入规则中允许0.0.0.0/0,而不仅仅是放置我的PC IP。我认为我的PC IP应该通过NLB直接带到EC2。这不是真的吗?我不想在EC2安全组中允许0.0.0.0/0。有更好的办法吗?

谢谢!

安全组评估由Network Load Balancer的实例安全组执行。您需要添加您想要与NLB通信的IP地址到您的实例,只要您的实例位于私有子网中,这将阻止任何客户端直接与主机交互。

网络负载均衡器没有关联安全组。因此,您的目标的安全组必须使用IP地址来允许来自负载均衡器的流量。

更多信息可在Register targets with your target group文档中获得。

在您的情况下阻止流量的唯一方法是在EC2 SG中拥有您想要允许访问的ip。

然而,您需要考虑到这样一个事实,即请求来自的IP地址存在差异,因此将根据您如何配置NLB的目标组,更具体地说,根据您是否已将目标类型设置为实例,从EC2 SG进行评估。ip ,因为NLB行为存在差异。

  • 如果目标类型设置为instance, NLB将按原样将流量传递到您的实例,EC2 SG将看到您的本地PC公共IP地址,如果有规则允许,您将能够连接
  • 如果目标类型设置为ip, NLB正在进行NAT转换,EC2 SG将实际看到NLB的私有IP作为传入流量的源IP。

查看NLB目标组文档中的源IP保存。

在这个问题上有一个类似的讨论。

最新更新