情况如下:
我们有一台运行 Elasticsearch 和 Elastic Beanstalk (EB) 环境的 EC2 服务器。它们都位于同一个 VPC 中。
这是我的目标:
允许访问 EC2(9200 端口)仅有的来自 EB 生成的实例。
我做了什么以及发生了什么:
在 EC2 安全组内,我添加了一条规则,允许从 Elastic Load Balancer 的安全组访问端口 9200。没有用 - 超时。当尝试指定 EB 实例 IP 地址时 - 有效。
之后,我尝试了一个更精简的版本,只是为了看看问题出在哪里。创建一个空的安全组“elasticsearch-client”。然后创建一个安全组“elasticsearch-server”,并设置以下规则
Custom TCP Rule | TCP | 9200 | sg-xxxxxxxx (elasticsearch-client)
将服务器组附加到 Elasticsearch EC2 实例,将客户端组附加到我想从中进行搜索的新 EC2 实例。我尝试从客户端连接到服务器,但连接超时。如果我允许从任何地方进行连接,我可以连接到服务器,因此我知道 Elasticsearch 服务器至少可以正常工作。如果我在安全组中指定新的 EC2 实例的 IP,也可以从该实例进行连接。
我使用安全组的方式是否错误?还有其他方法可以解决这个问题吗?
任何帮助深表感谢。