AWS Запрос ElasticSearch не отвечает в почтальоне - PullRequest
0 голосов
/ 29 мая 2020

https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-use-postman-to-call-api.html

Я следую приведенному выше документу, чтобы подключиться к моему AWS Elasti c Search через Postman.

То, что я хочу достичь, отправил запрос и получил ответ.

Я также поставил все, что связано с аутентификацией, но все равно выдает ошибку тайм-аута.

Это выдает ошибку 'Could not get any response'.

Мои настройки почтальона, связанные с SSL, также верны

Пример URL:

https://vpc-abc-yqb7jfwa6tw6ebwzphynyfvaka.ap-southeast-1.es.amazonaws.com/elasticsearch_index/_search?source={"query":{"bool":{"should":[{"multi_match":{"query":"abc","fields":["name.suggestion"],"fuzziness":1}}]}},"size":10,"_source":["name"],"highlight":{"fields":{"name.suggestion":{}},"pre_tags":["\u003Cem\u003E"],"post_tags":["\u003C\/em\u003E"]}}&source_content_type=application/json

enter image description here

Ответы [ 2 ]

0 голосов
/ 29 мая 2020

Для создания и управления доменом ES вы можете обратиться к этой документации .

При создании домена ES в разделе конфигурации сети вы можете выбрать доступ VP C или Publi c доступ. Если вы выберете доступ publi c, вы можете защитить свой домен с помощью политики доступа, которая разрешает доступ к домену только определенным c пользователям или IP-адресам.

Чтобы узнать больше о политиках доступа, вы можете сослаться на этот SO answer .

Итак, если вы создаете свой домен ES вне VP C, в доступе publi c вы можете легко отправить запрос и получить ответ через почтальона, без добавления авторизации .

endpoint в URL-адресе - это endpoint, который создается при создании домена ES.

Для создания индекса

enter image description here

Для добавления данных в индекс

enter image description here

Получить API для создания сопоставления индекса

enter image description here

Теперь вы можете проверить на своей консоли AWS, что этот индекс создан в домене ES

enter image description here

0 голосов
/ 29 мая 2020

Поскольку ваш домен ES находится в VP C, вы не можете получить доступ, если из inte rnet. К сожалению, использования групп безопасности и «разрешающего порта» недостаточно.

В документах написано следующее:

Однако, если вы попытаетесь получить доступ к конечной точке в веб-браузере, вы можете обнаружить, что время запроса истекло . Чтобы выполнять даже базовые запросы c GET, ваш компьютер должен иметь возможность подключаться к VP C. Это соединение часто принимает форму VPN, управляемой сети или прокси-сервера .

Некоторые варианты, которые следует учитывать:

  • Настройка хоста-бастиона в VP C в его publi c su bnet и s sh tunnel соединение от ES к вашей локальной ma c через хост-бастион. Это будет самый простой прокси-сервер c, упомянутый в документации.

  • Доступ к E C напрямую с хоста-бастиона (например, удаленного рабочего стола)

  • Настройка прокси-сервера для проксирования всех запросов от интеграцию rnet в ES.

...