根据我目前的理解,当我在其中一个修订版中启用到云SQL实例的服务连接时,路径/cloudsql/[instance name]/.s.PGSQL.5432
将被填充。这是一个UNIX套接字连接。
不幸的是,我使用的第三方应用程序不支持UNIX套接字连接,因此我需要通过TCP进行连接。
谷歌云SQL代理是否也配置了我可以通过localhost:5432
或其他等效设备连接到云SQL的任何方式?我正在阅读的一些文档表明,我必须使用专用IP进行详细的网络配置,以便为我的Cloud Run修订版启用基于TCP的Cloud SQL,但我觉得Cloud Proxy已经能够为我提供TCP连接,而不是UNIX套接字。
显然,假设我没有能力修改正在运行的代码,那么什么是正确的、最简单的方法。
我还交叉发布了这个问题到谷歌云SQL代理回购。
最安全、最简单的方法是使用私有IP。它不是那么长,那么难,你有3个步骤
- 创建一个无服务器VPC连接器。在与Cloud Run服务相同的区域中创建它。请注意您使用的VPC网络(默认情况下为"default"(
- 将无服务器VPC连接器添加到云运行服务中。仅通过此连接器路由专用IP
- 向您的云SQL数据库添加专用连接。将其连接到与您的无服务器VPC连接器相同的VPC网络中
云配置结束。现在,您必须获取实例的Cloud SQL私有IP,并将其添加到Cloud Run服务的参数中,以打开与该IP的连接。