ec2上的弹性搜索无法达到公共IP(超时)

时间:2014-12-16 15:59:10

标签: amazon-ec2 elasticsearch

我在EC2上运行了elasticsearch,

我可以点击本地IP地址(例如curl -XGET localhost:9200)

我无法点击公共IP地址,无论是在同一台机器上,还是从我们的网络上,它总是超时,

IPtables允许

端口已打开(自身以及专用网络)

启用Elasticsearch http.cors并允许" *"

除了Iptables,amazon安全配置,elasticsearch配置还有什么我可以忽略的吗? (我们可以访问443并获得kibana,它只需要在elasticsearch ajax调用上超时或者如果我尝试直接访问9200)

一直在研究这一天,所以我谦卑地来找你们所有人!

谢谢

2 个答案:

答案 0 :(得分:0)

我有完全相同的问题。

我设法按如下方式解决:

  1. 执行TJ在评论中所说的内容,+重启实例。我不确定这是否是必要的,但我做得很好。
  2. 我确保在elasticsearch.yml文件中设置了以下内容: 一个。 http.enabled:是的 湾http.cors.enabled:true C。 http.cors.allow-origin:" *"

  3. 重新启动的elasticsearch(service elasticsearch restart)

  4. 然后,当我尝试从公共IP访问elasticsearch时,它起作用了 - http://[PUBLIC IP OF INSTANCE]:9200

    希望这有帮助。

答案 1 :(得分:0)

我花了很多时间试图让这个工作成功。

设置:Elasticsearch 6.2.4,在Windows Server 2012,EC2实例上运行。

我还安装了discovery-ec2插件,现在不确定它是否是必需的,我的假设是,是的,它是必需的,虽然它允许的一些设置不是必须让它工作。

配置(.yml)。我尝试了大量不同的.yml配置设置,最终没有帮助,最后我认为主要设置是:  network.host:0.0.0.0

我尝试将network.host设置为 ec2:privateIpv4 ec2:publicIpv4 (插件设置),但他们没有帮助。

我添加了所需的自定义TCP规则(允许9200和9300 ......不确定是否需要9300)。

它无法启动(通常绑定到9300错误)或已启动但无法公开访问。

修复。到底是什么让你必须open the port in windows firewall。一旦我添加了入站规则,就将它连接起来:)

然后我删除了我一直在尝试的所有额外配置,重新启动Elasticsearch ......它仍然有效!