AWS 为 Elasticsearch VPC 域提供代理



我们创建了一个 VPC Elasticsearch 域。

我们希望能够从互联网访问日志(kibana(。我发现了这个问题:AWS Elasticsearch VPC 连接

答案建议一个面向互联网并位于 VPC 子网上的 nginx 代理。我得到了它的工作。但 ES 后端的响应是用户没有权限。

{"消息":"用户:匿名无权执行: es:ESHttpGet"}

看起来我必须创建正确的策略。但我被困在那里。

我创建了一个角色。但是,如何将角色分配给用户,甚至分配给代理,以便它能够访问 ES VPC 终端节点?

我终于按照@jordanm的提示使用aws-es-proxy为我们做了一些好事。

我最初只是在本地计算机上安装了aws-es-proxy。我显然不明白它是如何工作的。不用说,它超时了 - 本质上就像我从互联网访问 VPC 终端节点一样。

然后我意识到我必须在可以访问集群(VPC/子网(的计算机上安装代理。

最后我意识到我现在需要一个到那台机器的ssh 隧道才能从localhost:9200访问它。

当然,这不是我自己在问题中提出的 - 我问这个问题是因为我很怪胎,不了解所有这些 AWS/VPC/ES 的东西。我想如果我创建一个公共互联网代理,它会更容易。

现在我学到了很多东西,实际上...通过本地隧道访问所有内容要安全得多。

最新更新