Amazon AWS эластичный поиск Kibana доступ из браузера
Я знаю, что этот вопрос уже обсуждался ранее, но я чувствую, что мой вопрос немного другой.
Я пытаюсь выяснить, как мне разрешить доступ к Kibana через саморегулируемый упругий поиск AWS, который есть в моей учетной записи AWS.
Может быть, то, что я собираюсь сказать здесь, является неточным или полным вздором. Я довольно новичок во всем мудром разделе AWS VPC и застрял в ELK.
Архитектура: вот "Архитектура":
- У меня есть VPC.
- В рамках VPC у меня есть несколько подсетей.
- Каждый сервер отправляет свои данные в эластичный поиск, используя хранилище журналов, которое запускается на самом сервере. Для простоты предположим, что у меня есть один сервер.
- URL-адрес эластичного поиска, который можно найти в консоли Amazon, преобразуется во внутренний IP-адрес в указанной мной подсети.
Ресурсы:
Я нашел следующую ссылку, которая предлагает использовать один из двух вариантов:
Решения:
Вариант 1: политика на основе ресурсов
- Либо разрешить политику на основе ресурсов для упругого поиска, введя условие, которое указывает определенный IP-адрес.
Это обсуждалось в следующей теме, но, к сожалению, у меня не получилось.
Правильная политика доступа для Amazon Elastic Search Cluster
Когда я пытаюсь реализовать его в консоли Amazon, Amazon уведомляет меня, что, поскольку я использую группу безопасности, я должен разрешить ее с помощью группы безопасности.
Правила группы безопасности:
Я попытался установить правило, позволяющее общему IP-адресу моего персонального компьютера (маршрутизатора) получать доступ к портам эластичного поиска Amazon или даже открывать все порты для моего общедоступного IP-адреса.
Но это не сработало. Я был бы рад получить более подробное объяснение, почему, но я предполагаю, что это потому, что эластичный поиск имеет только внутренний IP, а не общедоступный IP, и поскольку он инкапсулирован в VPC, я не могу получить к нему доступ извне, даже если я определю правило для публичного IP-адреса для доступа к нему.
Вариант 2. Использование прокси
Я отказываюсь использовать это решение, если у меня нет другого выбора.
Я предполагаю, что если я установлю другой сервер с общедоступным и внутренним IP-адресом в той же подсети и VPC, что и для эластичного поиска, и использую его в качестве прокси-сервера, то я смог бы получить доступ к этому серверу извне, определив те же правила, что и для недавно созданной группы безопасности. Как предложенная статья.
Источники:
Я нашел готовое решение, которое кто-то уже сделал для этой проблемы, используя прокси-сервер, по следующей ссылке:
Использование исполняемого файла или контейнера Docker.
https://github.com/abutaha/aws-es-proxy
Вариант 3: Другое
Можете ли вы предложить другое решение? Можно ли использовать Amazon Load балансировщик или Amazon API gateway для выполнения этой задачи?
Мне просто нужно подтверждение концепции, а не то, что входит в производственную среду.
Нижняя линия:
Мне нужно иметь возможность получить доступ к Kibana из браузера, чтобы иметь возможность искать эластичные поисковые индексы.
большое спасибо
1 ответ
Лучший способ - только что выпущенная аутентификация Cognito.
Это отличный способ для аутентифицированного ОДНОГО ПОЛЬЗОВАТЕЛЯ. Это не хороший способ для системы, которую вы строите, получить доступ к ElasticSearch.