gpt4 book ai didi

amazon-web-services - 从云外部访问 EC2 实例上的 ElasticSearch

转载 作者:行者123 更新时间:2023-11-29 02:53:40 27 4
gpt4 key购买 nike

我正在尝试从云外部访问正在运行的 EC2 实例上的 ElasticSearch。我目前有 SSH/HTTP/HTTPS 向公众开放入站流量以及所有出站流量。我也为我的 EC2 实例设置了一个公共(public) IP。

默认情况下,ElasticSearch 在端口 9200 上。我不确定我是否正确配置了我的 elasticsearch.yml 文件,但它基本上具有默认配置我只是将 cluster.name 更改为其他内容。

当我在本地浏览器中输入带有端口 9200 的公共(public) IP 或在本地执行 telnet {public-ip} 9200 时,没有任何响应。当我通过 SSH 连接到我的 EC2 实例时。我可以执行 curl localhost:9200 并从 elasticsearch 得到正确的响应

如何从云外部连接到在我的 EC2 实例上运行的 ElasticSearch

我为包含端口 9200 且对 0.0.0.0/0 开放的入站流量为我的安全组添加了自定义规则,但我仍然无法访问此 EC2 实例

enter image description here

最佳答案

要检查的潜在问题是错误的绑定(bind)和实例操作系统防火墙。

检查 elasticsearch 绑定(bind)的位置,就好像它绑定(bind)到 127.0.0.1 一样,你将无法从外部访问它。

通过在 elasticsearch ec2 上的一个 shell 中运行来检查绑定(bind):

须藤 netstat -lptun | grep 9200

如果显示 127.0.0.1:9200 则说明配置错误,否则显示*:9200 或 :9200 那么它是正确的。

如果它显示 127.0.0.1,那么您应该修改 elasticsearch 参数 network.bind_host,如下所述:https://www.elastic.co/guide/en/elasticsearch/reference/1.4/modules-network.html

此外,默认操作系统防火墙通常允许使用 http/HTTPS 和 ssh,而 elasticsearch 9200 则不允许。 rhel 和 centos 通常是这种情况。您可以暂时禁用 iptables 并检查它是否有效。

禁用 iptables 运行:

须藤 iptables -F

如果在禁用 iptables 后连接正常,您应该配置 iptables 以允许在 9200 上连接。

希望对您有所帮助。

G.

关于amazon-web-services - 从云外部访问 EC2 实例上的 ElasticSearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39359573/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com