我有一个Load Balancer和Auto-Scaling Group . Load Balancer将流量发送到我的Auto-Scaling组 . 我有两个实例:Instance 7000(正在侦听端口7000并且是自动扩展组的一部分并从负载均衡器获取其流量)和实例8545(正在侦听端口8545并且只是一个单个实例,它是不属于Load Balancer或Auto-Scaling Group) .
我有一个负载均衡器安全组(“LB-SG”)和一个用于实例8545(“App-SG”)的安全组 . 我希望Instance 8545仅允许来自Load Balancer / Auto-Scaling Group一部分的Instances的流量 . 因此,我将“LB-SG”作为“App-SG”的入站规则包含在端口8545上,但它无效 . 但是,如果我只是将端口8545上的Instance 7000的IP地址作为“LB-SG”中的入站规则包含在内,那么它可以很好地工作 . 但这并不能解决我的问题,因为如果Auto-Scaling Group添加了更多实例或IP地址发生了变化,那么它将无法正常工作 .
编辑:为了清晰起见重新编辑
2 回答
您的要求有点不清楚,但这是一般用例......
如果您希望实例接受来自Load Balancer的流量,则:
为负载均衡器创建安全组("LB-SG")
为您的实例创建安全组("App-SG")
在App-SG中,允许从LB-SG到所需端口的入站流量
也就是说,App-SG规则通过其唯一名称(
sg-abcd1234
)专门引用LB-SG .Result: 与App-SG关联的每个实例都将允许来自Load Balancer的入站流量 .
同样,如果您希望特定实例(Instance-A)接受来自其他实例(Instance-B)的流量,请为每个实例创建不同的安全组,并将规则添加到Instance-A安全组以允许入站流量来自Instance-B安全组的给定端口 .
无需使用IP地址 .
第二次尝试......
您应该创建三个安全组:
负载均衡器
LB-SG
允许入站80/443
App-SG 用于Auto Scaling组中的实例
允许来自LB-SG的入站7000
对于8545实例
Extra-SG (我不知道该怎么称呼它!)
允许来自App-SG的入站8545
再一次,不需要引用特定的IP地址 .
附注:您说"allow traffic from Instances that are part of the Load Balancer / Auto-Scaling Group" - 实例位于Auto Scaling组中,但Load Balancer中没有实例 . 因此,我假设8545实例仅接收来自App-SG(7000)实例的流量 .
Update: 确保实例通过专用IP地址进行通信 .