Я пробую новый графический интерфейс MongoDB под названием Compass.
Однако мой сервер MongoDB находится на виртуальной машине Azure, которая имеет только частный IP-адрес.
Все серверы Azure в нашей виртуальной подсети доступны через один сервер, называемый сервером мониторинга, который имеет публичный IP-адрес, и на нем установлен один HAProxy, и все запросы направляются соответствующим серверам.
Так как же мне получить доступ к MongoDB с моего рабочего стола (Centos) с помощью Compass?
Я внес следующие изменения в haproxy, но все еще не могу получить доступ к mongodb с помощью Compass.
listen cc-mongo-1 <public ip of monitoring server>:27017
mode tcp
balance roundrobin
server cc-mongo-1 <private ip of mongodb>:27017
Или мы можем сделать так, как я установил его на сервер напрямую, а затем попробовать открыть графический интерфейс с локальной машины?
решение1
Если ваш MongoDB является набором реплик, то это не работает хорошо, подключаясь через балансировщик нагрузки. Большинство клиентов MongoDB подключатся и загрузят топологию набора реплик, а затем попытаются подключиться напрямую к членам набора реплик.
Если у вас есть (или вы можете установить) сервер ssh на сервере мониторинга, используйте функцию туннеля ssh в Compass. Просто введите имя пользователя/пароль или файл идентификации, который вы используете для подключения к серверу мониторинга извне, и Compass позаботится о туннелях автоматически.