我对这种情况有点好奇和困惑。我们设置了一个监控实例,在两个不同的实例上抓取暴露的端点。两者都在同一个 VPC、同一个安全组、同一个路由表和 ACL 上。此外,两个实例使用相同的 AMI。由于某种原因,端口 5001 上的 tcp 通信在使用子网 10.0.1.0 的机器上不起作用,但在使用子网 10.0.0.0 的机器上起作用。正常工作的实例也位于监控机器的同一可用区 (us-east-1a) 上,不起作用的实例位于 (us-east-1b) 上。
经过大量的 tcpdump 和故障排除后,发现其他端口(如 80、443、4001)都正常工作。我决定在 10.0.0.0 上创建实例的 AMI,并在同一个子网和可用区上部署一台新机器。令人惊讶的是,它成功了,现在我有 3 台机器,其中 2 台在同一个子网上,发送超过 5001 的指标,另一台返回超时。
这和公网 IP 有关吗?账户限制?
谢谢,我有点担心这个
编辑:
我按照 Tim 在回复中说的做了。我创建了一个在 10.0.0.0 上工作实例的 AMI,并将其部署在 10.0.1.0 上,并且它工作正常。所以要清楚一点。两台机器上的两个 AMI 都在子网上工作。我将 10.0.0.0 称为子网 A,将 10.0.1.0 称为子网 B。来自 B 的 AMI 部署在 A 上,并且它工作正常。来自 A 的 AMI 部署在 B 上,并且它工作正常。我有点困惑。
顺便说一句:那些机器很久以前由 terraform 创建,现在我们正在使用 Pulumi,也许在 terraform 应用过程中发生了一些事情,但没有人看到它。