无法将 LogStash 连接到 AWS ElasticSearch“尝试恢复与死 ES 实例的连接,但出现错误”

问题描述

我正在构建一个由 AWS ElasticSearch(包括 ElasticSearch 和 Kibana)、LogStash 和 FileBeat 组成的设置。我一直在关注 this tutorial,它解释了如何为 Amazon Elasticsearch Service 设置 Logstash 服务器并使用 IAM 进行身份验证。

我正在使用 Ubuntu 18.04 EC2 m4.large 实例来托管 LogStash 和 FileBeat。我已经在 VPC 中配置了我的所有资产。到目前为止,我已经配置了一个 AWS ES 域,一个 Ubuntu 18.04 EC2,然后在其中安装了 LogStash。现在,我忽略了 FileBeat,我只想将我的 LogStash 服务连接到 AWS ES 域。

根据教程,我有

  1. 创建了 IAM 访问策略
  2. 使用“ec2.amazonaws.com”作为可信实体创建角色 logstash-system-es
  3. 在我的 AWS ES 域仪表板中授权角色
  4. 已安装 LogStash 并按指定进行配置 (在这里,我在输出部分中输入了我正在使用的访问密钥及其 ID。但是,我不确定角色和访问密钥之间的关系)
  5. 启动 LogStash 并跟踪 logstash-plain.log 文件以查看输出

当我检查输出时,它出现 LogStash 无法连接到 ES 域。以下行开始无限出现。 (我已将 AWS ES 域名替换为 AWSESDOMAIN)。

尝试恢复与死 ES 实例的连接,但得到一个 错误。 {:url=>"https://vpc-AWSESDOMAIN.us-east-1.es.amazonaws.com:443/",:error_type=>LogStash::Outputs::AmazonElasticSearch::HttpClient::Pool::BadResponseCodeError,:error=>"在 URL 上联系 Elasticsearch 时得到响应代码 '403' 'https://vpc-AWSESDOMAIN.us-east-1.es.amazonaws.com:443/'"}

仅供参考,我在设置时使用细粒度访问控制配置了我的 AWS ES 域。

这里似乎有什么问题?是否与细粒度访问控制有关?安全组? IAM 问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...