#amazon-web-services #amazon-ec2
Вопрос:
У меня есть база данных на удаленной машине Google Cloud (GCP). В GCP я отредактировал правила брандмауэра, чтобы разрешить доступ с моего рабочего стола и с экземпляра AWS EC2. Однако происходит следующее:
С рабочего стола:
netcat -zv 35.198.56.213 27017
Connection to 35.198.56.213 27017 port [tcp/*] succeeded!
Из EC2:
netcat -zv 35.198.56.213 27017
netcat: connect to 35.198.56.213 port 27017 (tcp) failed: Connection timed out
Я не понимаю, почему я могу подключиться со своего рабочего стола, но не с EC2. Разрешены оба IP-адреса (с использованием общедоступного адреса экземпляра). Исходящие правила для экземпляра EC2 разрешают весь трафик.
Какие-нибудь советы?
Изменить: Я пытаюсь подключиться к экземпляру mongo, который работает на порту 27017. Значение bindIp
вкл /etc/mongod.conf
.установлено правильно 0.0.0.0
.
Комментарии:
1.
tracepath HOST -p PORT
Помогает ли выявить проблему?2. @saedx1 Я не уверен, но мне кажется, что все в порядке. Никаких ошибок.
3. Если ваш экземпляр ec2 находится в частной подсети, его исходящий IP-адрес будет принадлежать шлюзу NAT, даже если он имеет общедоступный IP-адрес.
4. Я предполагаю, что это означает, что AWS по умолчанию не предоставляет подключение к Интернету? Мне пришлось бы создать NAT, что сопряжено с собственными затратами.
5. По умолчанию у вас есть исходящий доступ в Интернет в общедоступной подсети (т. Е. подсети, которая имеет маршрут к интернет-шлюзу). Но если вы разместили свой экземпляр EC2 в частной подсети, то вам нужен компонент NAT (например, шлюз NAT), чтобы иметь исходящий доступ в Интернет.