我们可以使用另一个项目中的云函数连接到postgres sql实例数据库吗?

问题描述 投票:0回答:1

我想通过云功能连接到 Postgres 数据库,这是另一个项目,但我无法使用 vpc 连接器这样做。

我已完成以下步骤来进行设置,但仍然收到连接拒绝错误。

项目A:

  • 我有一个使用一个自定义服务帐户(例如 sa-project-account)的云功能
  • 我通过 vpc 连接器路由所有请求

项目B

  • 我的 postgres 数据库有公共 IP、连接名称
  • 授予 Cloud SQL 客户端对来自项目 A 的 sa-project-account 的权限

我仍然无法连接?请任何解决方案。

google-cloud-functions google-cloud-sql google-vpc
1个回答
0
投票

您可以按照此步骤在一个项目中的云函数与另一个项目中的 PostgreSQL 数据库之间建立私有连接。

VPC 对等互连:

在项目A(云函数)和项目B(PostgreSQL数据库)的VPC网络之间创建VPC对等。确保防火墙规则允许对等 VPC 网络之间的必要流量。更新 Cloud Function 以使用 PostgreSQL 实例的私有 IP 地址或内部 DNS 名称。

参考:创建 VPC 对等互连配置私有 Google 访问

共享VPC:

在宿主项目(项目 C)中创建共享 VPC 网络并将其附加到服务项目(项目 A)。在服务项目的VPC网络中部署Cloud Function。配置项目间通信的防火墙规则。使用私有 IP 地址或内部 DNS 名称进行 Cloud Function 与 PostgreSQL 之间的通信。

参考:使用共享VPC使用共享VPC部署云功能

IAM 和权限:

确保 Cloud Function 的服务账户具有适当的 IAM 角色和权限,以访问远程项目中的资源(例如项目 B 中的 Cloud SQL 实例)。

参考:了解 IAM授予、更改和撤销访问权限

© www.soinside.com 2019 - 2024. All rights reserved.