首页 > 解决方案 > AWS 为 Elasticsearch VPC 域提供代理

问题描述

我们创建了一个 VPC Elasticsearch 域。

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

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

{"Message":"用户:anonymous 无权执行:es:ESHttpGet"}

看起来我必须制定正确的政策。但我被困在那里。

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

标签: amazon-web-servicesamazon-iamaws-elasticsearchaws-policies

解决方案


在@jordanm 的提示下,我终于得到了一些对我们有用的东西aws-es-proxy

我最初只是安装aws-es-proxy 在我的本地机器上。我显然不明白它是如何工作的。不用说,它正在超时 - 基本上就像我从 Internet 访问 VPC 端点一样。

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

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

当然,这不是我自己在问题中所问的——我问这个问题是因为我很疯狂,不理解所有这些 AWS/VPC/ES 的东西。我认为如果我创建一个公共 Internet 代理会更容易。

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


推荐阅读