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代理连接。
我最近写了一篇关于这个的文章。