[英]AWS Network Load Balancer failed to connect with EC2 instance if EC2 instance is not open to public
[英]Configuring internal network load balancer with EC2 instance in private VPC
我创建了一个内部网络负载平衡器(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实例。
有什么想法为什么不起作用? 谢谢
对于您要完成的工作,NLB是错误的负载平衡器。
NLB是第4层负载平衡器。 这意味着您看到的IP地址(在EC2实例上)是客户端的IP地址,而不是负载均衡器的IP地址。 使用NLB,您必须在安全组中允许客户端的IP地址。
您希望第7层负载均衡器实现您要执行的操作(阻止VPC中的其他系统直接访问EC2实例)。 这意味着ALB或经典ELB。
如果您使用的是网络负载平衡器,请更新目标实例的安全组 ,因为网络负载平衡器没有关联的安全组。
如果您的目标类型是IP,则将规则添加到安全组中,以允许从负载均衡器到目标IP的流量。
如果您的目标类型是实例,则将规则添加到安全组,以允许从负载均衡器和客户端到目标IP的流量。
首先了解您的用例。
网络负载平衡器的最佳用例:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.