AWS Elasticsearch VPC连接

时间:2017-11-21 09:55:13

标签: amazon-web-services elasticsearch networking aws-elasticsearch

我在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/

我知道为什么我无法访问此网址?

3 个答案:

答案 0 :(得分:1)

无法在与弹性搜索域关联的子网外访问VPC端点。

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

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

答案 1 :(得分:1)

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

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

More nginx info here.

答案 2 :(得分:0)

访问弹性搜索VPC的步骤

  • 在AWS中创建ec2环境。
  • 在ec2中安装ngnix并进行配置。
  • 在安全组中添加两个入站请求,即所有流量和 ssh。
  • 然后使用公共IP从Internet访问。