Назад | Перейти на главную страницу

Как ограничить доступ к EC2 извне, но разрешить из экземпляров Elastic Beanstalk?

Вот такая ситуация:

У нас есть сервер 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 в группе безопасности.

Я неправильно использую группы безопасности? Есть ли другой способ решить эту проблему?

Любая помощь очень ценится.