Не удается совершать исходящие вызовы с Amazon EC2 VPC

#mongodb #amazon-web-services #amazon-ec2 #amazon-vpc #outbound

#mongodb #amazon-веб-сервисы #amazon-ec2 #amazon-vpc #исходящие

Вопрос:

Я только что запустил новый экземпляр и развернул очень простое Java-приложение, чтобы попытаться подключиться к MongoDB Atlas, и приложение не может подключиться. То же самое приложение работает нормально локально. Это экземпляр общего назначения в VPC, а не классический. Существует ли конфигурация для включения исходящих вызовов? Я проверил таблицу маршрутизации, и нет никаких правил для блокировки любых исходящих вызовов. Прикрепленное изображение также показывает общедоступный IP-адрес, но я не могу выполнить пинг сервера, но я могу подключиться через ssh.

введите описание изображения здесь

Я также пытался назначить экземпляру Elastic IP, и это тоже не сработало.

Эластичный IP-адрес, назначенный экземпляру


Обновить:

Оказалось, что проблема была в MongoDB для этого случая. Основываясь на том, что я видел в Интернете, это позволило мне понять, что это была проблема с Amazon VPC, но на самом деле это была проблема с белым списком в Mongo DB Atlas. Я не понимал, что это так, поскольку соединение с моего локального работало, хотя это и не предполагалось.

Для отправки исходящего вызова вам НЕ нужен NAT-сервер.

Комментарии:

1. Похоже, что он находится в частной подсети. Или, возможно, вы не назначили экземпляру общедоступный IP-адрес. Или, возможно, ваш маршрут VPC к вашему интернет-шлюзу отсутствует или неверен.

2. Я только что добавил скриншот общедоступного IP-адреса, который я не могу пинговать. Однако я могу подключиться к серверу с помощью ssh.

3. «Вам НЕ нужен NAT-сервер для отправки исходящего вызова» в вашем случае, нет, поскольку у вас есть общедоступный IP-адрес. Если у хоста нет общедоступного IP-адреса, требуется NAT

4. Это правильно. Однако в Интернете так много сообщений, в которых указано иное. Вот что вызывает путаницу.

Ответ №1:

MongoDB Atlas фактически теперь имеет пиринг VPC, который больше не потребует от вас внесения в белый список 0.0.0.0 / 0

https://www.mongodb.com/blog/post/introducing-vpc-peering-for-mongodb-atlas

Ответ №2:

Убедитесь, что ваш ACL для этой подсети разрешает 0.0.0.0/0

Убедитесь, что вы можете выполнить пинг www.google.com изнутри экземпляра

Проверьте маршруты вашей подсети и убедитесь, что у нее есть маршрут 0.0.0.0/0 к интернет-шлюзу.