我正在尝试建立一个集中式日志记录解决方案,该解决方案使用 EC2 上的 filebeat 将日志直接发送到 VPC AWS Elasticsearch 集群(配置简单,无 Logstash)。我不需要 Elasticsearch 的任何互联网访问权限。
我的 VPC 是 172.31.0.0/16
我的访问控制策略是完全开放的(仅针对 VPC)
我的安全组允许 TCP 443
和 9200
在 EC2 实例上,我能够从 https 端点获取响应
curl https://vpc-<my-es-cluster>.<region>.es.amazonaws.com
{
"name" : "<name>",
"cluster_name" : "<account-id>:<my-es-cluster>",
"cluster_uuid" : "<uuid>",
"version" : {
"number" : "6.2.2",
"build_hash" : "10b1edd",
"build_date" : "2018-02-28T15:42:08.616107Z",
"build_snapshot" : false,
"lucene_version" : "7.2.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
从我的 EC2 实例中,9200 不可用,这似乎是安全组问题,但是附加到我的域的 sg 允许来自 172.31 的
。我还尝试向所有流量打开附加的 sg,但这并没有解决我的问题。443
和 9200
。 0.0/16
我做了一些研究,发现这个问题可能是由于没有将 ES 集群上的 network.host
配置设置为绑定(bind)到 0.0.0.0
(或私有(private)IP):Connection refused error on Elastic Search
还有其他人遇到过这个问题吗?这是一个基本用例:尽管存在开放安全组,VPC 内的 EC2 仍无法通过网络访问超过 9200 个 VPC 内部 ES 集群。
最佳答案
我认为您应该使用端口 80,而不是 9200。
关于amazon-web-services - VPC 与 VPC Elasticsearch 集群端口 9200 的连接无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50145475/