Как установить пиринг между MongoDB Atlas и Google App Engine Standard Environment Node App

Я настроил пиринговое соединение между MongoDB Atlas и Google VPC по умолчанию, и соединение помечено как «активное» на обоих концах.

Диапазон IP-адресов vpc занесен в белый список MongoDB Atlas.

Но мой узел, размещенный в google-app-engine, по-прежнему истекает при доступе к MongoDB.

Я использую URL-адрес подключения атласа mongodb для однорангового подключения в форме (обратите внимание на «-pri»):

mongodb+srv://<username>:<password>@<my-cluster>-pri.rthhs.mongodb.net/<dbname>?retryWrites=true&w=majority

Какую часть мне не хватает, чтобы установить соединение? Нужен ли мне коннектор Google vpc?

Спасибо за любую помощь!

во всем мире произошел сбой Google , который мог повлиять на вас, если вы пытались в течение последних получаса

Anupam 14.12.2020 13:42

да, заметил это... но я уже несколько часов занимался этим, так что я думаю, что это только добавило оскорбления к травме.

Maximilian Körner 14.12.2020 13:50
Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
1
2
1 025
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуйте Не удается подключиться к Mongo Atlas с помощью пиринга VPC из кластера GCP и MongoDB и Google Cloud Functions VPC Peering?.

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

Ответ принят как подходящий

Прежде всего, убедитесь, что вы используете M10-Cluster или выше!!! Пиринг VPC недоступен для M0/M2/M5...

И ДА, вам нужен этот разъем! Все «бессерверные» сервисы от Gcloud (например, GAE в стандартной среде) нуждаются в этом.

  1. создайте коннектор в том же регионе, что и ваше GAE-приложение, следуя этим инструкциям. Вы можете найти текущий регион вашего приложения GAE с помощью gcloud app describe

  2. ваш app.yaml должен указывать на этот соединитель, как это

приложение.yaml

runtime: nodejs10

vpc_access_connector:
  name: projects/GCLOUD_PROJECT_ID/locations/REGION_WHERE_GAE_RUNS/connectors/NAME_YOU_ENTERED_IN_STEP_1
  1. Перейдите в свой проект Atlas, перейдите в раздел «Доступ к сети» и внесите в белый список диапазон IP-адресов, который вы установили для соединителя на шаге 1.

  2. Вам также может потребоваться внести в белый список диапазон IP-адресов из шага 1 для сети VPC. Вы можете сделать это в GCP, перейдя в VPC-Network -> Брандмауэр.

Если у вас есть вопросы о том, как настроить VPC-пиринг между Atlas и Gcloud, попробуйте это руководство. Они делают это для Kubernetes-Engine (коннектор не нужен). Но добавление моих шагов сверху, надеюсь, поможет.

Информация о разъеме была решающей. Но была дополнительная оговорка: у меня было параллельное пиринговое соединение с AWS, которое не очень хорошо сочеталось с пирингом Google. Ваше руководство и удаление другого пирингового соединения заставили его работать

Maximilian Körner 10.03.2021 16:09

Другие вопросы по теме