Google Cloud Function在另一个项目中访问Cloud SQL PostgreSQL



My Cloud Function无法连接到我的Cloud SQL PostgreSQL实例。我收到错误:

psycopg2.OperationalError: could not connect to server: Connection timed out
Is the server running on host "my.private.db.ip" and accepting
TCP/IP connections on port 5432?

有2个项目(A和B(,通过VPC对等网络连接。

  • 项目A-云SQL PostgreSQL
  • 项目B-云功能

使用此体系结构有限制吗?

  • 我正在尝试使用专用IP连接到我的数据库
  • 项目B上已经有其他云功能连接到项目A上的VM实例

注意:我尝试不使用公共ip进行此连接。

由于VPC对等可传递性限制,您无法访问云SQL实例。事实上,如果你想了解VPC对等限制

只有直接对等网络才能通信。不支持传递对等。也就是说,如果VPC网络N1与N2和N3进行对等,但N2与N3没有直接连接,则VPC网络N2无法通过VPC网络对等与VPC网络N3通信。

在您的情况下,您达到了此限制。您有一个从项目A到项目B的对等,另一个从云SQL到项目A的对等。

因此,您无法从Project B.访问云SQL实例

解决方法是在项目之间创建一个VPN(而不是对等(。或者接受在您的云SQL实例上拥有公共IP(无授权网络(以接受云SQL代理连接。

我最近写了一篇关于这个的文章。

相关内容

  • 没有找到相关文章

最新更新