从外部服务访问EC2端口9200

时间:2013-11-20 19:43:39

标签: amazon-ec2 elasticsearch

我很难让EC2和ElasticSearch启动并运行。具体来说,我正试图从亚马逊云外部到达我的节点以进行验证。我已经设置了安全组,以便在端口9200上有一个“自定义TCP”规则,ElasticSearch正在侦听该端口,我可以使用netstat -l查看该端口。当我curl -XGET https://localhost:9200时,我得到ElasticSearch预期的响应。当来自WITHIN亚马逊的curl -XGET https://publicIP:9200(即我运行的另一个节点)时,我得到了ElasticSearch期望的响应。当我尝试从桌面上执行相同的请求时,我得到“无响应”。我不能,为了我的生活,弄清楚为什么会这样。

2 个答案:

答案 0 :(得分:2)

有几件事需要检查:

  • 从亚马逊云内部访问实例的公共URL将映射到其私有IP。在上面的测试中,您指定了publicIP,是否使用了公共IP或公共域名?确保使用IP而不是域名进行测试。
  • 如果从同一台计算机上访问公共IP,请从另一个EC2实例尝试相同的操作。
  • 最后,您的桌面或工作网络上可能有防火墙规则,阻止了对端口9200的传出访问。

答案 1 :(得分:1)

如果您将Elasticsearch作为服务运行,则转到/etc/elasticsearch/elasticsearch.yml并创建

network.host: "0.0.0.0"

此解决方案对我有用。