11

我在 AWS 中创建了一个 Elasticsearch 域。

它已添加到公共子网内的我的 VPC 中,并且我附加了一个当前完全开放的安全组。

我还附上了此政策:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "es:*",
      "Resource": "arn:aws:es:eu-central-1:ACCOUNT_ID:domain/DOMAIN_NAME/*"
    }
  ]
}

我正在尝试在本地访问端点,但似乎不允许这样做。

例如,Kibana URL 是:

https://vpc-bla.bla.bla.eu-central-1.es.amazonaws.com/_plugin/kibana/

知道为什么我无法访问此 URL 吗?

4

3 回答 3

8

经过反复试验,我发现 ES 生成的 URL 是内部的,无法通过安全组轻松打开到 Internet。

相反,我部署了一个简单的 nginx 代理,它将公共 DNS 请求例如转发es.mydns.com到内部DNS eg vpc....eu-central-1.es.amazonaws.com/_plugin/kibana/

更多 nginx 信息在这里。

于 2018-12-02T20:51:49.263 回答
4

VPC Endpoint 无法在您与弹性搜索域关联的子网之外访问。

您可以尝试从属于您与弹性搜索关联的同一子网的任何 EC2 实例执行 curl,它应该可以工作。

如果您需要从 Internet 访问端点,则不要创建 VPC 端点弹性搜索,而是创建具有 Internet 访问权限的弹性搜索域。您可以在创建 ES 域时指定是否需要 VPC 或 Internet 可访问集群。

于 2018-03-21T05:54:42.550 回答
0

访问弹性搜索VPC的步骤

  • 在 AWS 中创建 ec2 环境。
  • 在ec2中安装ngnix并配置。
  • 在安全组中添加两个入站请求,即所有流量和 ssh。
  • 然后使用公共 ip 从互联网访问。
于 2020-07-24T10:13:48.817 回答