【问题标题】:Elasticsearch on EC2EC2 上的弹性搜索
【发布时间】:2017-01-11 00:08:25
【问题描述】:

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

network.publish_host: <public ip>

network.bind_host: <private ip>

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

【问题讨论】:

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


    【解决方案1】:

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

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

    如果您将服务绑定到网络接口,它将是具有私有 IP 的服务。

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

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

    【讨论】:

    • 您介意分享一下弹性搜索配置吗?谢谢!
    • 除了插件,这个config example帮了我
    【解决方案2】:

    我遇到了同样的问题。

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

    在 ubuntu 16.04 上,这对我有用:

    在 /etc/elasticsearch/elasticsearch.yml 添加这一行:

    network.host: &lt;ec2 instance private ip&gt;

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-26
      • 1970-01-01
      • 2021-11-23
      • 1970-01-01
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多