微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 GCP App Enginenodejs,标准环境到 Mongodb Atlas 的 VPC 对等问题

如何解决从 GCP App Enginenodejs,标准环境到 Mongodb Atlas 的 VPC 对等问题

编辑 - 已解决

正如评论中提到的,这里有一个链接,用于跟踪 IP 白名单流程并检查您的 IP 与 VPC 配合使用: MongoDB and Google Cloud Functions VPC Peering?

我还需要解决两件事:

  1. 不要忘记将连接字符串更改为私有,如此处所示 (https://docs.atlas.mongodb.com/reference/faq/connection-changes#std-label-connstring-private)。 Atlas 文档中的 VPC 对等配置中没有提到这一点。
  2. 在 VPC 对等配置中的 GCP 中禁用认选中的选项:使用公共 IP 导出子网路由。之后,您在 mongodb 中添加到白名单的 IP 在 VPC 无服务器连接器的范围内。

原始问题

我尝试创建从 GCP 上的 App Engine 到 Mongodb Atlas 的 VPC 对等连接。 App Engine 应用程序是 node/react 应用程序,它在 Mongodb 中与白名单 0.0.0.0 一起工作正常。以下是我根据所有文档正确执行的步骤:

  1. 我在 Atlas 中添加了对等连接,并且它在可用时可见。
  2. 我在 GCP 中添加了 VPC 对等连接并且状态为活动
  3. 我已将 GCP 项目网络中的 IP 范围添加到 Atlas 中的 IP 白名单
  4. 我创建了一个无服务器 VPC 连接器以与我的 App Engine(标准环境)一起使用,这是 app.yaml 中的一行
    vpc_access_connector:
      name: projects/project-id/locations/location/connectors/connector-name
  1. 我已经尝试将不同的 IP 范围添加到 Atlas 的白名单中。两个集群都在同一地区,我从这里包括了地区范围: https://cloud.google.com/vpc/docs/vpc#ip-ranges

出现问题,因为无法建立连接并且超时(我的 API 服务中出现 502 Bad Gateway 错误)。当我在 Atlas 中将 0.0.0.0/0(互联网)列入白名单时,一切正常。

我想知道是否可以在 GCP 中进行任何可能的更改:

  • 防火墙设置
  • 在 VPC 对等设置中交换自定义路由设置
  • 在 VPC 对等设置中与公共 IP 交换子网路由

解决方法

正如评论中提到的,这里有一个链接,用于跟踪 IP 白名单流程并检查您的 IP 与 VPC 配合使用:MongoDB and Google Cloud Functions VPC Peering?

我还需要解决两件事:

  1. 不要忘记将连接字符串更改为私有,如此处所示 (https://docs.atlas.mongodb.com/reference/faq/connection-changes#std-label-connstring-private)。 Atlas 文档中的 VPC 对等配置中没有提到这一点。
  2. 在 VPC 对等配置中的 GCP 中禁用默认选中的选项:使用公共 IP 导出子网路由。之后,您在 mongodb 中添加到白名单的 IP 在 VPC 无服务器连接器的范围内。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。