Lau*_*ard 2 amazon-ec2 nlb amazon-web-services amazon-elb
我有一个 ECS 集群,由不同可用区中的 2 个实例组成。我运行的众多服务之一是 SMTP 中继。我想在这个服务前面使用一个网络负载均衡器来方便地配置其他应用程序来使用中继。
一切就绪后,我面临以下问题:
如果容器存在于实例 'A' 上,则只有实例 'B' 能够访问它,反之亦然,否则它会超时。因此网络负载均衡器似乎阻止访问位于同一实例上的服务。
有什么我在这里想念的吗?有没有人知道这一点并有解决方法?
更新: 将服务扩展到 2 个实例时,它开始工作。我现在倾向于相信它与可用区有关。
小智 5
我遇到了类似的问题。
这是我的设置:
在执行的测试下面:
从私有子网中的实例发起的查询。”
测试 1:从实例 a(在 AZ-a 中),查询“myservice.example.com”。
结果 1:查询在其私有 IP 之一上命中 NLB。如果 IP 与实例 a 位于同一子网中,则查询将超时。如果 IP 在不同的子网中,查询将成功。
Test2:与Test1相同,但从 instance-b(在 AZ-b 中)查询。
结果2:查询在其私有 IP 之一上命中 NLB。如果 IP 与实例 b 位于同一子网中,则查询将超时。如果 IP 在不同的子网中,查询将成功。
与从 instance-c 发起的查询类似的结果。
从公有子网 AZ-a 中的实例发起的查询
测试 3:从 AZ-a 中公有子网中的实例,查询“myservice.example.com”。
结果 3:查询在其私有 IP 之一上命中 NLB。无论命中哪个私有 IP,查询总是成功。
从私有子网 AZ-a 中的额外实例 (instance-a2) 发起的查询
测试 4:我在 AZ-a 的私有子网中启动了一个额外的实例 (instance-a2)。然后,从 instance-a2,查询到“myservice.example.com”。重要信息:此实例不运行任何服务,因此 NLB 永远无法选择它来路由任何请求。
结果4:查询一直成功!即使命中私有子网 A 中的目标(与实例 a2 相同的子网)。
结论:
因此,到目前为止,我的结论是,如果请求的源 ip和目标 ip 相同,则 NLB 将超时NLB选择的目标相同。
我找不到 AWS NLB 文档中记录的此问题/限制,到目前为止,Google 搜索中没有任何内容。有没有人得出同样的结论?
| 归档时间: |
|
| 查看次数: |
1538 次 |
| 最近记录: |