Вот такая ситуация:
У нас есть сервер EC2, на котором работает Elasticsearch и среда Elastic Beanstalk (EB). Оба они находятся в одном VPC.
Это моя цель:
Разрешить доступ к EC2 (порт 9200) только из экземпляров, созданных EB.
Что я сделал и что произошло:
Внутри группы безопасности EC2 я добавил правило, разрешающее доступ к порту 9200 из группы безопасности Elastic Load Balancer. Не сработало - истекло время. При попытке указать IP-адрес экземпляров EB - работает.
После этого я попробовал более урезанную версию, чтобы понять, в чем проблема. Создал пустую группу безопасности «elasticsearch-client». Затем создал группу безопасности «elasticsearch-server» со следующим правилом
Custom TCP Rule | TCP | 9200 | sg-xxxxxxxx (elasticsearch-client)
Прикрепил группу серверов к экземпляру Elasticsearch EC2 и группу клиентов к новому экземпляру EC2, из которого я хочу выполнить поиск. Я попытался подключиться от клиента к серверу, но время ожидания соединения истекло. Я могу подключиться к серверу, если разрешаю подключения отовсюду, так что я знаю, что сервер Elasticsearch хотя бы работает. Также можно подключиться из нового экземпляра EC2, если я укажу его IP в группе безопасности.
Я неправильно использую группы безопасности? Есть ли другой способ решить эту проблему?
Любая помощь очень ценится.