Невозможно подключиться к кластеру MongoDB в развернутом приложении Springboot в Google Cloud Run.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно подключиться к кластеру MongoDB в развернутом приложении Springboot в Google Cloud Run.

Сообщение Anonymous »

Я пытаюсь подключить серверную часть Java Springboot, развернутую в Google Cloud Run как услугу, к кластеру MongoDB. Само развертывание прошло успешно, и я добавил строку подключения в качестве переменной среды. Но в журналах я постоянно получаю сообщение об отказе в соединении в виде исключения, показанного ниже:

Код: Выделить всё

2024-07-14T01:15:32.428Z  INFO 1 --- [localhost:27017] org.mongodb.driver.cluster               : Exception in monitor thread while connecting to server localhost:27017

2024-07-14 02:15:32.433 BST
com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.internal.connection.SocketStream.lambda$open$0(SocketStream.java:84) ~[mongodb-driver-core-4.11.1.jar!/:na]
at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na]
at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:84) ~[mongodb-driver-core-4.11.1.jar!/:na]
at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:211) ~[mongodb-driver-core-4.11.1.jar!/:na]
at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.lookupServerDescription(DefaultServerMonitor.java:196) ~[mongodb-driver-core-4.11.1.jar!/:na]
at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:156) ~[mongodb-driver-core-4.11.1.jar!/:na]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
Caused by: java.net.ConnectException: Connection refused
at java.base/sun.nio.ch.Net.pollConnect(Native Method) ~[na:na]
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[na:na]
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:549) ~[na:na]
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597) ~[na:na]
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) ~[na:na]
at java.base/java.net.Socket.connect(Socket.java:633) ~[na:na]
at com.mongodb.internal.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:76) ~[mongodb-driver-core-4.11.1.jar!/:na]
at com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:104) ~[mongodb-driver-core-4.11.1.jar!/:na]
at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:78) ~[mongodb-driver-core-4.11.1.jar!/:na]
... 4 common frames omitted
Чтобы решить эту проблему, я попробовал следующее:
Проверил службу облачного запуска:
Приложение подтверждено для локального запуска и подключения к кластеру и сохраненной базе данных.
Порт контейнера — 8080.
Dockerfile создан для сборки и запуска приложения Spring Boot в контейнере. Подтверждено выполнение.
Строка подключения MongoDB добавляется в качестве переменной среды.
Сеть: подключитесь к VPC для исходящего трафика -> с помощью созданного бессерверного соединителя vpc.
Маршрутизация трафика: маршрутизация требуется только для частные IP-адреса для VPC.
Сеть VPC:
Я создал бессерверный соединитель доступа к VPC, используя сеть по умолчанию, и выходное правило брандмауэра, позволяющее Трафик mongoDB для стандартного порта mongoDB 27017. Для него установлен приоритет 1000.
Облачный NAT:
Я дополнительно создал облачный NAT общедоступного типа. шлюз, использующий ту же сеть по умолчанию, и созданный облачный маршрутизатор (он не объявляет диапазоны IP-адресов или подсети). Идентификатор BGN установлен на автоматический.
Сопоставление Cloud NAT настроено на следующее:
Высокая доступность: да.
Тип исходной конечной точки: экземпляры виртуальных машин, узлы GKE, Без сервера.
Исходные подсети и диапазоны IP-адресов: основные и дополнительные диапазоны IP-адресов всех подсетей.
IP-адрес Cloud NAT: xx.xxx.xx.xxx, он также соответствует общему 0.0.0.0/0
MongoDB:
  • статические IP-адреса
  • 0.0.0.0/0
  • CIDR из соединителя vpc (например, 10.8.0.0/28)
все в белом списке.
Строка подключения:

Код: Выделить всё

"mongodb+srv://admin:[email protected]/InventoryDB?retryWrites=true&w=majority"
Любые советы и подсказки будут оценены по достоинству!

Подробнее здесь: https://stackoverflow.com/questions/787 ... ogle-cloud
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»