【发布时间】:2018-10-13 04:52:10
【问题描述】:
我正在尝试设置一个集中式日志记录解决方案,该解决方案使用 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.0.0/16 的 443 和 9200。我还尝试将附加的 sg 开放给所有流量,但这并没有解决我的问题。
我做了一些研究,发现这个问题可能是由于没有将ES集群上的network.host配置设置为绑定到0.0.0.0(或私有IP):Connection refused error on Elastic Search
还有其他人遇到过这个问题吗?这是一个基本用例:尽管有一个开放的安全组,但 VPC 中的 EC2 无法通过网络访问超过 9200 的 VPC 内部 ES 集群。
【问题讨论】:
标签: amazon-web-services elasticsearch vpc