Связь с AWS Elasticsearch VPC
Я создал домен Elasticsearch в AWS.
Он добавлен в мой VPC в общедоступной подсети, и я подключил группу безопасности, которая в настоящее время полностью открыта.
У меня есть эта политика также прилагается:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource": "arn:aws:es:eu-central-1:ACCOUNT_ID:domain/DOMAIN_NAME/*"
}
]
}
Я пытаюсь получить доступ к конечной точке локально, но это не разрешено.
URL Kibana, например:
https://vpc-bla.bla.bla.eu-central-1.es.amazonaws.com/_plugin/kibana/
Есть идеи, почему я не могу получить доступ к этому URL?
1 ответ
После долгих проб и ошибок я обнаружил, что сгенерированный ES URL-адрес является внутренним и не может быть легко открыт в Интернет через группы безопасности.
Вместо этого я развернул простой прокси-сервер nginx, который пересылал публичные DNS-запросы, например es.mydns.com
к внутреннему DNS eg vpc....eu-central-1.es.amazonaws.com/_plugin/kibana/
К конечной точке VPC нельзя получить доступ за пределами подсетей, которые вы связали с доменом упругого поиска.
Вы можете попробовать выполнить curl из любого экземпляра EC2, который является частью той же подсети, которую вы связали с эластичным поиском, он должен работать.
Если вам нужен доступ к конечной точке из Интернета, не создавайте эластичный поиск конечной точки VPC, вместо этого создайте домен эластичного поиска с доступом в Интернет. При создании домена ES вы можете указать, хотите ли вы, чтобы VPC или кластер был доступен через Интернет.
Шаги для доступа к VPC эластичного поиска
- Создайте среду ec2 в AWS.
- Установите ngnix в ec2 и настройте.
- Добавьте два входящих запроса в группу безопасности, т.е. весь трафик и ssh.
- Затем используйте общедоступный IP-адрес для доступа из Интернета.