如何在 MongoDB Atlas 和 Google App Engine 标准环境节点应用之间建立对等

How to establish peering between MongoDB Atlas and Google App Engine Standard Environment Node App

我已经在 MongoDB Atlas 和 Google 的“默认”VPC 之间建立了对等连接,连接在两端都标记为“活动”。

vpc 的 ip 范围在 MongoDB Atlas 中列入白名单。

但是我在 google-app-engine 中托管的节点在访问 MongoDB 时仍然超时。

我使用 mongodb atlas 的连接 url 以(注意“-pri”)的形式进行对等连接:

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

我缺少哪一部分来建立连接?我需要 google vpc connector?

感谢您的帮助!

尝试 and MongoDB and Google Cloud Functions VPC Peering?

第一步我建议确定您是否有物理连接(因此需要修复 ip 白名单)或没有连接(并且需要修复对等配置)。

首先请确认您是运行M10-Cluster以上!!! VPC 对等互连不适用于 M0/M2/M5...

是的,您确实需要那个连接器!所有“无服务器”-来自 Gcloud 的服务(如标准环境中的 GAE)都需要它。

  1. these instructions 之后在与您的 GAE-App 相同的区域中创建一个连接器。您可以使用 gcloud app describe

    找到您的 GAE 应用程序的当前区域
  2. 你的 app.yaml 必须像这样指向那个连接器

app.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 项目,导航到 网络访问 并将您在第 1 步中为连接器设置的 IP 范围列入白名单

  2. 您可能还需要将步骤 1 中的 IP 范围列入 VPC 网络的白名单。您可以在 GCP 中通过导航至 VPC-Network -> Firewall

    来完成此操作

如果您对如何在 Atlas 和 Gcloud 之间设置 VPC 对等有疑问,请尝试 this tutorial。他们为 Kubernetes-Engine 做这件事(不需要连接器)。但是从上面添加我的步骤有望达到目的。