使用 VPC 和对等网络时,如何从 Google Cloud 运行 连接到 MongoDB Atlas?
How do you connect to MongoDB Atlas from Google Cloud Run when using VPC and peer networking?
我正在尝试使用 VPC 和对等网络从 Google 云 运行 MongoDB 进行连接,但我似乎无法建立连接。目标是能够从 Cloud 运行 Atlas 连接,同时只允许特定的 IP 范围。
我的设置是:
- MongoDB Atlas 运行宁在 Google 云端。
- A Google Cloud 运行 容器 运行 在与 MongoDB atlas 相同的区域设置 NodeJS 服务器(尽管就我而言这应该无关紧要告诉)。
我已采取以下步骤:
- 的说明在 Google 云端创建一个 VPC
在我的 VPC 和 MongoDB Atlas VPC 之间设置网络对等:https://docs.atlas.mongodb.com/security-vpc-peering/
使用连接器设置无服务器 VPC 访问:https://cloud.google.com/vpc/docs/configure-serverless-vpc-access
使用上面的连接器重新部署云运行容器:https://cloud.google.com/run/docs/configuring/connecting-vpc
将步骤 3 的 CIDR 范围添加到 MongoDB atlas 中的白名单,并删除了之前的开放范围 0.0.0.0/0。
所有步骤都成功(绿点等),但是当我在第 5 步之后尝试连接时,连接失败。我错过了什么?
解决了这个问题,所以回答了我自己的问题。事实证明问题中概述的方法确实有效。我遗漏了两件事:
您需要将 MongoDB 连接字符串更改为私有连接字符串。您可以通过单击 MongoDB 仪表板中“集群”下的“连接”来检索它。据我所知,MongoDB 对等网络指南中没有任何记录。
在 MongoDB Atlas 网络设置中将来自 VPC 本身(第 1 步)的 CIDR 范围和来自无服务器连接器(第 3 步)的 CIDR 范围列入白名单。
我正在尝试使用 VPC 和对等网络从 Google 云 运行 MongoDB 进行连接,但我似乎无法建立连接。目标是能够从 Cloud 运行 Atlas 连接,同时只允许特定的 IP 范围。
我的设置是:
- MongoDB Atlas 运行宁在 Google 云端。
- A Google Cloud 运行 容器 运行 在与 MongoDB atlas 相同的区域设置 NodeJS 服务器(尽管就我而言这应该无关紧要告诉)。
我已采取以下步骤:
- 的说明在 Google 云端创建一个 VPC
在我的 VPC 和 MongoDB Atlas VPC 之间设置网络对等:https://docs.atlas.mongodb.com/security-vpc-peering/
使用连接器设置无服务器 VPC 访问:https://cloud.google.com/vpc/docs/configure-serverless-vpc-access
使用上面的连接器重新部署云运行容器:https://cloud.google.com/run/docs/configuring/connecting-vpc
将步骤 3 的 CIDR 范围添加到 MongoDB atlas 中的白名单,并删除了之前的开放范围 0.0.0.0/0。
所有步骤都成功(绿点等),但是当我在第 5 步之后尝试连接时,连接失败。我错过了什么?
解决了这个问题,所以回答了我自己的问题。事实证明问题中概述的方法确实有效。我遗漏了两件事:
您需要将 MongoDB 连接字符串更改为私有连接字符串。您可以通过单击 MongoDB 仪表板中“集群”下的“连接”来检索它。据我所知,MongoDB 对等网络指南中没有任何记录。
在 MongoDB Atlas 网络设置中将来自 VPC 本身(第 1 步)的 CIDR 范围和来自无服务器连接器(第 3 步)的 CIDR 范围列入白名单。