【问题标题】:How to establish peering between MongoDB Atlas and Google App Engine Standard Environment Node App如何在 MongoDB Atlas 和 Google App Engine 标准环境节点应用程序之间建立对等互连
【发布时间】:2020-12-14 12:21:49
【问题描述】:

我已经在 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?

感谢您的帮助!

【问题讨论】:

  • 全球范围内的 google outage 可能会影响到您,以防您在过去半小时内尝试
  • 是的,我注意到了……但我已经用了几个小时了,所以我发现它只是雪上加霜

标签: mongodb google-app-engine mongodb-atlas vpc


【解决方案1】:

首先,请确保您运行的是 M10-Cluster 或更高版本!!! VPC 对等互连不适用于 M0/M2/M5...

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

  1. these instructions 之后在与您的 GAE 应用程序相同的区域创建一个连接器。您可以通过gcloud app describe找到您的GAE-App的当前区域

  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 网络的白名单。您可以通过导航到 VPC-Network -> Firewall

    GCP 中执行此操作

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

【讨论】:

  • 有关连接器的信息至关重要。但是还有一个额外的警告:我有一个与 AWS 的并发对等连接,它与 Google 对等连接效果不佳。您的指南并删除了其他对等连接使其正常工作
【解决方案2】:

试试Cannot connect to Mongo Atlas using VPC peering from GCP clusterMongoDB and Google Cloud Functions VPC Peering?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-27
    • 1970-01-01
    • 2019-01-27
    • 2018-03-12
    • 2018-07-01
    • 2019-02-11
    • 1970-01-01
    • 2016-09-26
    相关资源
    最近更新 更多