AWS Elasticsearch VPC 连接
AWS Elasticsearch VPC connectivity
我在 AWS 中创建了一个 Elasticsearch 域。
它已添加到我的 VPC 中的 public 子网中,并且我附加了一个当前完全开放的安全组。
我也附上了这个政策:
{
"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 吗?
无法在您与 elastic-search 域关联的子网之外访问 VPC 端点。
您可以尝试从属于您与 elastic-search 关联的同一子网的任何 EC2 实例执行 curl,它应该可以工作。
如果您需要从 Internet 访问端点,则不要创建 VPC 端点 elastic-search,而是创建具有 Internet 访问权限的 elastic-search 域。创建ES域时可以指定是VPC集群还是公网集群。
经过反复试验,我发现 ES 生成的 URL 是内部的,无法通过安全组轻易地向互联网开放。
相反,我部署了一个简单的 nginx 代理,它转发 public DNS 请求,例如 es.mydns.com
到内部 DNS eg vpc....eu-central-1.es.amazonaws.com/_plugin/kibana/
访问elasticsearch VPC的步骤
- 在 AWS 中创建 ec2 环境。
- 在ec2中安装ngnix并配置。
- 在安全组中添加两个入站请求,即所有流量和
ssh.
- 然后使用public ip 从互联网访问。
我在 AWS 中创建了一个 Elasticsearch 域。
它已添加到我的 VPC 中的 public 子网中,并且我附加了一个当前完全开放的安全组。
我也附上了这个政策:
{
"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 吗?
无法在您与 elastic-search 域关联的子网之外访问 VPC 端点。
您可以尝试从属于您与 elastic-search 关联的同一子网的任何 EC2 实例执行 curl,它应该可以工作。
如果您需要从 Internet 访问端点,则不要创建 VPC 端点 elastic-search,而是创建具有 Internet 访问权限的 elastic-search 域。创建ES域时可以指定是VPC集群还是公网集群。
经过反复试验,我发现 ES 生成的 URL 是内部的,无法通过安全组轻易地向互联网开放。
相反,我部署了一个简单的 nginx 代理,它转发 public DNS 请求,例如 es.mydns.com
到内部 DNS eg vpc....eu-central-1.es.amazonaws.com/_plugin/kibana/
访问elasticsearch VPC的步骤
- 在 AWS 中创建 ec2 环境。
- 在ec2中安装ngnix并配置。
- 在安全组中添加两个入站请求,即所有流量和 ssh.
- 然后使用public ip 从互联网访问。