EC2上的弹性搜索

时间:2014-10-18 20:45:07

标签: amazon-ec2 elasticsearch windows-server-2012-r2

我现在花了一些时间寻找有关elasticsearch.yml配置的信息,这些配置使我的单个实例Elasticsearch(在Windows 2012 Server EC2上)可以通过公共IP访问,但每次我取消注释以下一个或两个设置时,唯一的事情就是更改是,调用私有IP也会导致错误。

network.publish_host: <public ip>

network.bind_host: <private ip>

这是否正确,是否还有其他必须定义的设置?它不应该使用默认值运行吗?

2 个答案:

答案 0 :(得分:3)

这是关于网络如何在EC2中工作而不是对您的问题的特定答案的更一般的答案。但它应该有助于告知如何配置您的应用程序。

EC2在公共和私有IP地址之间具有1:1的NAT。因此,实例只能直接看到私有IP地址。

如果要将服务绑定到网络接口,则它将是具有专用IP的服务。

某些服务确实需要了解外部IP地址才能正常运行。我遇到的唯一一个是被动配置的FTP,可能是因为它需要打开一个单独的套接字进行数据传输。

在弹性搜索的情况下,它们似乎有一个特殊的插件,可以帮助配置aws环境的弹性搜索:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-network.html

答案 1 :(得分:0)

我遇到了同样的问题。

在aws EC2上只安装了一个ES实例,并希望授予它公共访问权限。

在ubuntu 16.04上,这对我有用:

/etc/elasticsearch/elasticsearch.yml中的

添加以下行:

network.host: <ec2 instance private ip>

私有IP应该类似于172.x.x.x

另外,请不要忘记在aws控制台的安全组中访问端口9200(默认)以及发送请求的IP地址。

所以区别是设置不公开,而是来自aws控制台的私有IP地址..

另请注意,由于没有任何用户/密码或其他访问控制,这可能很危险