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

как подключить mongodb с URL-адресом реплики?

Я использую MongoDB с репликацией (битнами) в Azure.
Я создал три узла mongodb (1 первичный, 1 вторичный и 1 арбитр). Когда я пытаюсь подключиться к URI подключения MongoDB (mongodb://username:password@ip01:27017,ip02:27017,ip03:27017/?readPreference=primary&replicaSet=replicaset) это дает мне ошибку вроде pymongo.errors.ServerSelectionTimeoutError: 10.0.0.5:27017: timed out,10.0.0.6:27017: [Errno 113] No route to host,10.0.0.4:27017: timed out,10.0.0.7:27017: timed out Я предпочел эту официальную документацию (Bitnami) для URL-адреса подключения.

Согласно предоставленному вами документу.

Убедитесь, что приложение может подключаться к каждому узлу кластера, используя его общедоступный или частный IP-адрес. Для обеспечения возможности подключения у вас есть два варианта:

Разместите приложение в той же сети, что и кластер MongoDB, чтобы оно могло адресовать каждый узел, используя свой частный IP-адрес. Это рекомендуемая конфигурация для производственных сред. Разместите приложение в другой сети и назначьте общедоступные IP-адреса с соответствующими правилами брандмауэра узлам кластера (если они еще не назначены по умолчанию), чтобы приложение могло обращаться к каждому узлу, используя его общедоступный IP-адрес. Эта конфигурация не рекомендуется для производственных сред.

Итак, если вы тестируете в той же виртуальной сети Azure, вы можете использовать частный IP (пример 10.0.0.6). Если вы тестируете его за пределами Azure, вам следует использовать общедоступный IP-адрес.

Вы могли бы сослаться на это ответ Я предоставил.

Обновить:

Если вы хотите подключить свои узлы mongodb, вам понадобится пинговать частный IP-адрес. Это дизайнерское поведение.

Если вы хотите использовать mongodb из своего приложения или локально, вам необходимо создать соединение Site-to-Site VPN или соединение Point-to-Site VPN.