在专用VPC中使用EC2实例配置内部网络负载均衡器

时间:2018-09-18 03:34:30

标签: amazon-web-services nlb

我创建了一个内部网络负载平衡器(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实例。

任何关于为什么这行不通的想法? 谢谢

2 个答案:

答案 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的流量。

  • 您可以允许EC2实例安全组中的流量。身为你的 实例在专用子网中,因此您需要午餐加载 同一地区但在公共子网中的平衡器。

首先了解您的用例。

网络负载平衡器的最佳用例:

  • 当您需要无缝支持尖峰或大量入站TCP时 请求。
  • 当您需要支持静态或弹性IP地址时。
  • 如果您正在使用容器服务和/或想要支持多个服务 EC2实例上的端口。 NLB特别适合ECS(The Amazon EC2容器服务)。

security-group-load-balancer

new-network-load-balancer-effortless-scaling-to-millions-of-requests-per-second

what-is-a-network-load-balancer