EC2 中的 Logstash 无法连接到 AWS 中的 ElasticSearch 域

Logstash in EC2 can't connect with ElasticSerach domain in AWS

我在将 Logstash(在 AWS - EC2 中)与 AWS 中的 ElasticSearch 域连接时遇到了一些问题。

ES配置:

Logstash 管道配置:

input {
  stdin { }
}
output {
  amazon_es {
    hosts => ["vpc-aaabbbccc111222333.es.amazonaws.com"]
    ssl => true
    region => "us-east-1"
  }
}

因此,当我尝试 运行 logstash(EC2 实例)中的管道进行测试时,它会抛出以下错误。我已经打开了 SGs 中的所有流量。 Logstash-EC2 和 ES 域也有相同的 SG。我还允许在 ES 访问策略中使用 EC2 分配的 IAM 角色。

错误日志:

[2021-04-24T13:50:55,461][WARN ][logstash.outputs.amazonelasticsearch] Attempted to resurrect connection to dead ES instance, but got an error. {:url=>"https://vpc-aaabbbccc111222333.us-east-1.es.amazonaws.com:443/", :error_type=>LogStash::Outputs::AmazonElasticSearch::HttpClient::Pool::BadResponseCodeError, :error=>"Got response code '403' contacting Elasticsearch at URL 'https://vpc-aaabbbccc111222333.us-east-1.es.amazonaws.com:443/'"}

您是否将 EC2 IAM 角色映射到任何 kibana 角色?当您将其他 AWS 服务(在本例中为 EC2)与 FGAC ES 域集成时,您需要将该资源的 IAM 角色映射到 kibana 角色。