VPC 连接到 VPC Elasticsearch 集群端口 9200 无响应

VPC connectivity to VPC Elasticsearch cluster port 9200 unresponsive

我正在尝试设置一个集中式日志记录解决方案,该解决方案使用 EC2 上的 filebeat 将日志直接发送到 VPC AWS Elasticsearch 集群(简单配置,无 logstash)。我不需要 Elasticsearch 的任何互联网访问权限。

我的 VPC 是 172.31.0.0/16 我的访问控制策略是完全开放的(仅对 VPC 开放) 我的安全组允许 TCP 4439200

在 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.0.0/164439200。我还尝试将附加的 sg 开放给所有流量,但这并没有解决我的问题。

我做了一些研究,发现这个问题可能是由于没有在ES集群上设置network.host配置绑定到0.0.0.0(或私有IP):

还有其他人 运行 关注这个问题吗?这是一个基本用例:VPC 中的 EC2 无法通过网络访问超过 9200 的 VPC 内部 ES 集群,尽管有一个开放的安全组。

我认为你应该使用端口 80,而不是 9200。