我正在尝试设置一个集中式日志记录解决方案,该解决方案使用EC2上的filebeat将日志直接发送到VPC AWS Elasticsearch集群(简单配置,无日志框架)。我不需要任何互联网访问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允许来自443
的{{1}}和9200
。我也尝试打开附加的sg直到所有流量,但这并没有解决我的问题。
我做了一些研究,发现此问题可能是由于未将ES群集上的172.31.0.0/16
配置设置为绑定到network.host
(或私有IP):Connection refused error on Elastic Search < / p>
还有其他人遇到过这个问题吗?这是一个基本用例:尽管有一个开放的安全组,但VPC内的EC2无法通过9200超过VPC内部ES群集的网络访问权限。
答案 0 :(得分:2)
你应该把我认为的端口80,而不是9200。