我创建了一个内部网络负载平衡器(NLB),以连接到专用子网上的EC2实例。我只想限制从网络负载平衡器对EC2实例的访问。我使用了这些说明https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-register-targets.html#target-security-groups,但没有用。
基本上,我将NLB的网络接口的IP地址添加到了安全组,并且允许使用我的特定端口(例如:8080 10.4.2.9/32),但这是行不通的。当我切换到所有允许(例如:8080 0.0.0.0/32)时,它可以工作,但是我不希望其他实例可以访问ec2实例。
任何关于为什么这行不通的想法? 谢谢
答案 0 :(得分:1)
对于您要完成的工作,NLB是错误的负载均衡器。
NLB是第4层负载均衡器。这意味着您看到的IP地址(在EC2实例上)是客户端的IP地址,而不是负载均衡器的IP地址。使用NLB,您必须在安全组中允许客户端的IP地址。
您希望第7层负载均衡器实现您要执行的操作(阻止VPC中的其他系统直接访问EC2实例)。这就是ALB或经典的ELB。
答案 1 :(得分:0)
如果您使用的是网络负载均衡器,则update the security groups for your target instances,因为网络负载均衡器没有 具有关联的安全组。
如果目标类型是IP,则将规则添加到安全组中,以 允许从负载均衡器到目标IP的流量。
如果目标类型是实例,则将规则添加到安全组中 允许从负载均衡器和客户端到目标IP的流量。
首先了解您的用例。
网络负载平衡器的最佳用例:
new-network-load-balancer-effortless-scaling-to-millions-of-requests-per-second