我刚遇到网络负载均衡器的奇怪行为。
我在同一个VPC中有4个子网:
Public-Subnet-A (eu-central-1a)
Public-Subnet-B (eu-central-1b)
Private-Subnet-A (eu-central-1a)
Private-Subnet-B (eu-central-1b)
我已将Public-Subnet-A和Public-Subnet-B附加到NLB。
我创建了一个Auto-Scaling组。该组有Public-Subnet-A和Public-Subnet-B。
当通过自动扩展组启动新实例时,EC2服务器将具有Public-Subnet-A或Public-Subnet-B。没关系。
我使用1个安全组并且允许所有子网。因此,我可以从公共子网访问私有子网。
但是,如果NLB具有 Public-Subnet-B,则NLB不会向EC2服务器发送流量或发送一些流量。如果EC2服务器具有公共子网-A然后NLB向其发送流量。
我可以通过其他EC2服务器访问该EC2服务器,该服务器具有Public-Subnet-B,具有Public-Subnet-A。
我可以通过其他EC2服务器访问具有Public-Subnet-B的EC2服务器,该服务器具有Public-Subnet-B。
如果EC2实例有另一个(在这种情况下是Public-Subnet-B)子网,为什么NLB不发送流量?
答案 0 :(得分:1)
您正在测试哪些地址?网络负载平衡使用基于src / dst IP地址和端口的相当基本的散列算法,因此,如果您使用非常相似的地址来测试您,那么几乎总是会在最后进入相同的节点,这要归功于哈希算法。