【发布时间】:2021-07-18 11:22:50
【问题描述】:
我在将 Logstash(在 AWS - EC2 中)与 AWS 中的 ElasticSearch 域连接时遇到了一些问题。
ES 配置:
- 在 VPC 中
- Cognito 启用了细粒度访问(使用主 IAM arn)
Logstash 管道配置:
input {
stdin { }
}
output {
amazon_es {
hosts => ["vpc-aaabbbccc111222333.es.amazonaws.com"]
ssl => true
region => "us-east-1"
}
}
因此,当我尝试在 logstash(EC2 实例)中运行管道进行测试时,它会抛出以下错误。我已经打开了 SG 的所有流量。 Logstash-EC2 和 ES 域也有相同的 SG。我还在 ES 访问策略中允许了分配给 EC2 的 IAM-Role。
错误日志:
[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 角色。
-
是的!谢谢我想通了。将 Kibana 角色中的 EC2 IAM 角色映射为后端角色解决了该问题。 :) @Ajinkya Pl 作为答案发布,我会接受的。 ;)
标签: amazon-web-services amazon-ec2 logstash elk amazon-elasticsearch