2014-10-18 12 views
2

我已經花了一些時間尋找有關elasticsearch.yml配置的信息,這些配置使我的單實例Elasticsearch(在Windows 2012 Server EC2上)可以通過公共IP訪問,但每次我取消註釋以下一項或兩項設置只是發生了變化,調用私有IP也會導致錯誤。Elasticsearch on EC2

network.publish_host: <public ip> 

network.bind_host: <private ip> 

這是否正確,是否還有其他需要定義的設置?它不應該使用默認值運行嗎?

回答

3

這是關於如何網絡在EC2內工作的一般答案,而不是針對您的問題的特定答案。但它應該有助於告知如何配置您的應用程序。

EC2在公共和私有IP地址之間具有1:1的NAT。因此,只有私有IP地址直接對實例可見。

如果你將一個服務綁定到一個網絡接口,它將是一個私有IP。

某些服務確實需要了解外部IP地址才能正常工作。我唯一遇到的是被動配置中的FTP,可能是因爲它需要打開一個單獨的數據傳輸套接字。

在彈性搜索的情況下,看來他們有一個特殊的插件,將幫助配置爲AWS環境彈性搜索:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-network.html

+0

你不介意任何用戶名/密碼或其他訪問控制共享彈性搜索配置?謝謝! – imesh 2015-09-25 17:01:43

+0

除了插件外,這個[配置示例](https://discuss.elastic.co/t/node-discovery-in-elasticsearch-on-amazon-ec2/36490/17)幫助了我 – mfink 2016-03-24 19:08:14

0

我有同樣的問題。

在aws EC2上只安裝了一個ES實例,並希望授予它公共訪問權限。

在Ubuntu 16.04,這是對我來說是什麼在起作用:

在/etc/elasticsearch/elasticsearch.yml加入這一行:

network.host: <ec2 instance private ip>

私有IP應該是這樣的172.xxx

另外不要忘記允許在您的aws控制檯的安全組中訪問端口9200(默認)和您將從中發送請求的IP地址。

所以差異設定從AWS控制檯不公開的,但私有IP地址..

另外請注意,這可能是危險的,因爲沒有