2014-10-18 2 views
2

Я потратил некоторое время на поиск информации о конфигурациях elasticsearch.yml, которые делают мой единственный экземпляр Elasticsearch (на Windows Server 2003 EC2) доступным через общедоступный ip, но каждый раз, когда я раскомментирую один или оба следующих параметра, Единственное, что изменилось, - это вызов частного ip, а также ошибка.Elasticsearch on EC2

network.publish_host: <public ip> 

network.bind_host: <private ip> 

Это правильно и есть ли какие-либо другие настройки, которые необходимо определить? Не должно ли оно работать со значениями по умолчанию?

ответ

3

Это скорее общий ответ о том, как сетевые работы работают в EC2 вместо конкретного ответа на ваш вопрос. Но это должно помочь сообщить, как настроить приложение.

EC2 имеет 1: 1 NAT между государственным и частным IP-адресом. Из-за этого прямому виду видится только частный IP-адрес.

Если вы привязываете службу к сетевому интерфейсу, это будет тот, у кого есть частный IP.

Некоторые службы требуют знания внешнего IP-адреса для правильной работы. Единственный, с которым я столкнулся, - это FTP в пассивной конфигурации, вероятно, из-за того, что ему нужно открыть отдельный сокет для передачи данных.

В случае упругого поиска, оказывается, что у них есть специальный плагин, который поможет настроить упругую поиск АМСОВ среды: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-network.html

+0

Вы не возражаете разделяя конфигурацию эластичного поиска? Благодаря! – imesh

+0

в дополнение к плагину, этот [пример конфигурации] (https://discuss.elastic.co/t/node-discovery-in-elasticsearch-on-amazon-ec2/36490/17) помог мне – mfink

0

Я была такая же проблема.

Установлен только один экземпляр ES на aws EC2 и хочет предоставить ему доступ общественности.

На убунту 16,04 это то, что работает для меня:

в /etc/elasticsearch/elasticsearch.yml добавить эту строку:

network.host: <ec2 instance private ip>

Частный IP должно быть что-то вроде 172.xxx

Также не забудьте разрешить доступ в группе безопасности в вашей консоли aws для порта 9200 (по умолчанию) и IP-адрес, с которого вы будете отправлять запросы.

Так разница была установка не публичный, но частный адрес IP-от AWS консоль ..

Также обратите внимание, что это может быть опасно, так как не существует какой-либо пользователь/пароль или другой системы контроля доступа