从 GCP App Engine(nodejs,标准环境)到 Mongodb Atlas 的 VPC 对等问题
VPC peering problems from GCP App Engine (nodejs, standard environment) to Mongodb Atlas
编辑 - 已解决
如此处评论中所述,link 遵循 IP 白名单流程并检查与 VPC 兼容的 IP:
MongoDB and Google Cloud Functions VPC Peering?
还有两件事我必须另外解决:
- 不要忘记将连接字符串更改为私有,如此处所示 (https://docs.atlas.mongodb.com/reference/faq/connection-changes#std-label-connstring-private)。在 Atlas 文档的 VPC 对等配置中没有提到这一点。
- 在 GCP 中,VPC 对等配置禁用默认选中的选项:使用 public IP 导出子网路由。之后,您在 mongodb 中的白名单 IP 在 VPC 无服务器连接器的范围内。
原始问题
我尝试创建从 GCP 上的 App Engine 到 Mongodb Atlas 的 VPC 对等连接。 App Engine 应用程序是节点/反应应用程序,可以在 Mongodb 中与列入白名单的 0.0.0.0 一起正常工作。以下是我根据所有文档正确执行的步骤:
- 我在 Atlas 中添加了对等连接,它是可用的。
- 我在 GCP 中添加了 VPC 对等连接并且状态为活动
- 我已将我的 GCP 项目网络的 IP 范围添加到 Atlas 中的 IP 白名单
- 我创建了一个无服务器 VPC 连接器以与我的 App Engine(标准环境)一起使用,这是来自 app.yaml
的一行
vpc_access_connector:
name: projects/project-id/locations/location/connectors/connector-name
- 我已经尝试将不同的 IP 范围添加到 Atlas 的白名单中。这两个集群都在同一个区域,我已经包括了这里的区域范围:
https://cloud.google.com/vpc/docs/vpc#ip-ranges
出现问题,因为无法建立连接并且超时(我的 API 服务出现 502 Bad Gateway 错误)。当我在 Atlas 中将 0.0.0.0/0(互联网)列入白名单时,一切正常。
我想知道是否可以在 GCP 中进行任何可能的更改:
- 防火墙设置
- 在 VPC 对等设置中交换自定义路由设置
- 在 VPC 对等设置中使用 public IP 交换子网路由
正如此处评论中提到的,link 遵循 IP 白名单流程并检查与 VPC 兼容的 IP:MongoDB and Google Cloud Functions VPC Peering?
还有两件事我必须另外解决:
- 不要忘记将连接字符串更改为私有,如此处所示 (https://docs.atlas.mongodb.com/reference/faq/connection-changes#std-label-connstring-private)。在 Atlas 文档的 VPC 对等配置中没有提到这一点。
- 在 VPC 对等配置的 GCP 中,默认选中禁用选项:使用 public IP 导出子网路由。之后,您在 mongodb 中的白名单 IP 在 VPC 无服务器连接器的范围内。
编辑 - 已解决
如此处评论中所述,link 遵循 IP 白名单流程并检查与 VPC 兼容的 IP: MongoDB and Google Cloud Functions VPC Peering?
还有两件事我必须另外解决:
- 不要忘记将连接字符串更改为私有,如此处所示 (https://docs.atlas.mongodb.com/reference/faq/connection-changes#std-label-connstring-private)。在 Atlas 文档的 VPC 对等配置中没有提到这一点。
- 在 GCP 中,VPC 对等配置禁用默认选中的选项:使用 public IP 导出子网路由。之后,您在 mongodb 中的白名单 IP 在 VPC 无服务器连接器的范围内。
原始问题
我尝试创建从 GCP 上的 App Engine 到 Mongodb Atlas 的 VPC 对等连接。 App Engine 应用程序是节点/反应应用程序,可以在 Mongodb 中与列入白名单的 0.0.0.0 一起正常工作。以下是我根据所有文档正确执行的步骤:
- 我在 Atlas 中添加了对等连接,它是可用的。
- 我在 GCP 中添加了 VPC 对等连接并且状态为活动
- 我已将我的 GCP 项目网络的 IP 范围添加到 Atlas 中的 IP 白名单
- 我创建了一个无服务器 VPC 连接器以与我的 App Engine(标准环境)一起使用,这是来自 app.yaml 的一行
vpc_access_connector:
name: projects/project-id/locations/location/connectors/connector-name
- 我已经尝试将不同的 IP 范围添加到 Atlas 的白名单中。这两个集群都在同一个区域,我已经包括了这里的区域范围: https://cloud.google.com/vpc/docs/vpc#ip-ranges
出现问题,因为无法建立连接并且超时(我的 API 服务出现 502 Bad Gateway 错误)。当我在 Atlas 中将 0.0.0.0/0(互联网)列入白名单时,一切正常。
我想知道是否可以在 GCP 中进行任何可能的更改:
- 防火墙设置
- 在 VPC 对等设置中交换自定义路由设置
- 在 VPC 对等设置中使用 public IP 交换子网路由
正如此处评论中提到的,link 遵循 IP 白名单流程并检查与 VPC 兼容的 IP:MongoDB and Google Cloud Functions VPC Peering?
还有两件事我必须另外解决:
- 不要忘记将连接字符串更改为私有,如此处所示 (https://docs.atlas.mongodb.com/reference/faq/connection-changes#std-label-connstring-private)。在 Atlas 文档的 VPC 对等配置中没有提到这一点。
- 在 VPC 对等配置的 GCP 中,默认选中禁用选项:使用 public IP 导出子网路由。之后,您在 mongodb 中的白名单 IP 在 VPC 无服务器连接器的范围内。