AWS实例仅允许来自负载均衡器的流量

con*_*rvo 1 load-balancing amazon-ec2 amazon-web-services aws-security-group elastic-load-balancer

我有一个负载均衡器和自动伸缩组。负载平衡器将流量发送到我的自动伸缩组。我有两个实例:实例7000(正在侦听端口7000,它是自动扩展组的一部分,并从负载均衡器获取其流量)和实例8545(正在侦听端口8545,只是一个单独的实例,即(不属于负载均衡器或Auto-Scaling组)。

我有一个负载平衡器安全组(“ LB-SG”)和实例8545(“ App-SG”)的安全组。我希望实例8545仅允许来自属于负载均衡器/自动扩展组的实例的流量。因此,我将“ LB-SG”作为端口8545上“ App-SG”的入站规则包括在内,但它不起作用。但是,如果我只是将端口8545上的实例7000的IP地址作为入站规则包含在“ LB-SG”中,则效果很好。但这不能解决我的问题,因为如果自动扩展组添加了更多实例或更改了IP地址,则它将无法正常工作。

编辑:为清楚起见改写

Joh*_*ein 7

您的要求还不清楚,但这是一般用例...

如果希望实例接受来自负载均衡器的流量,则:

  • 为您的负载均衡器(“ LB-SG”)创建一个安全组
  • 为您的实例创建一个安全组(“ App-SG”)
  • 在App-SG中,允许来自LB-SG的所需端口上的入站流量

也就是说,App-SG规则通过其唯一名称(sg-abcd1234)专门引用LB-SG 。

结果:与App-SG关联的每个实例都将允许来自负载均衡器的入站流量。

同样,如果您希望特定实例(实例A)接受来自另一个实例(实例B)的流量,请为每个实例创建一个不同的安全组,然后向实例A安全组中添加一条规则,以允许对某个实例的传入流量。 Instance-B安全组给定的端口。

无需使用IP地址。


Joh*_*ein 5

第二次尝试...

您应该创建三个安全组:

  • 负载均衡器的 LB-SG
    • 允许入站 80/443
  • Auto Scaling 组中实例的 App-SG
    • 允许来自 LB-SG 的入站 7000
  • 8545 实例的额外 SG(我不知道该怎么称呼它!)
    • 允许来自 App-SG 的入站 8545

再一次,不需要引用特定的 IP 地址。

旁注:您说“允许来自属于负载均衡器/自动伸缩组一部分的实例的流量”——实例在自动伸缩组中,但负载均衡器中没有实例。因此,我假设 8545 实例接收来自 App-SG (7000) 实例的流量。

更新:确保实例通过私有 IP 地址进行通信。