elasticsearch,windows-server-2012-r2,Amazon Ec2,elasticsearch,Windows Server 2012 R2" /> elasticsearch,windows-server-2012-r2,Amazon Ec2,elasticsearch,Windows Server 2012 R2" />

Amazon ec2 EC2上的弹性搜索

Amazon ec2 EC2上的弹性搜索,amazon-ec2,elasticsearch,windows-server-2012-r2,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> network.publish\u主机: network.bind_

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

network.publish_host: <public ip>

network.bind_host: <private ip>
network.publish\u主机:
network.bind_主机:

这是否正确?是否需要定义其他设置?它不应该使用默认值运行吗?

这是关于EC2中网络如何工作的一般性回答,而不是对您的问题的具体回答。但它应该有助于告知如何配置应用程序

EC2在公共和私有IP地址之间有1:1 NAT。因此,只有私有IP地址对实例直接可见

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

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


在弹性搜索的情况下,他们似乎有一个特殊的插件,可以帮助为aws环境配置弹性搜索:

我也有同样的问题

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

在ubuntu 16.04上,这对我来说很有用:

在/etc/elasticsearch/elasticsearch.yml中添加以下行:

network.host:

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

另外,不要忘记在aws控制台的安全组中允许访问端口9200(默认)和您将从中发送请求的ip地址

所以区别在于从aws控制台设置的不是公共ip地址,而是私有ip地址


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

您介意共享弹性搜索配置吗?谢谢除了插件,这对我也有帮助