Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 启用私有IP并关闭公共IP后,无法从云运行连接到云SQL_Google Cloud Platform_Google Cloud Sql_Google Cloud Run - Fatal编程技术网

Google cloud platform 启用私有IP并关闭公共IP后,无法从云运行连接到云SQL

Google cloud platform 启用私有IP并关闭公共IP后,无法从云运行连接到云SQL,google-cloud-platform,google-cloud-sql,google-cloud-run,Google Cloud Platform,Google Cloud Sql,Google Cloud Run,我有一个postgreSQL CLoud SQL实例,我正在通过UNIX套接字连接到该实例,该实例的名称来自一个CLoud Run容器,如文档所示。使用公共IP,此连接工作正常。我期待着关闭公共IP,只有一个私人IP,所以我不会为未来的公共IP收费 当我第一次创建云SQL实例时,我只启用了公共IP。几天后,我启用了私有IP。对于专用IP的关联网络,我接受默认值,因为云运行实例在同一个项目中 当我关闭公共IP时,我的应用程序无法再连接到云SQL实例。我收到一个连接被拒绝错误: sqlalchemy

我有一个postgreSQL CLoud SQL实例,我正在通过UNIX套接字连接到该实例,该实例的名称来自一个CLoud Run容器,如文档所示。使用公共IP,此连接工作正常。我期待着关闭公共IP,只有一个私人IP,所以我不会为未来的公共IP收费

当我第一次创建云SQL实例时,我只启用了公共IP。几天后,我启用了私有IP。对于专用IP的关联网络,我接受默认值,因为云运行实例在同一个项目中

当我关闭公共IP时,我的应用程序无法再连接到云SQL实例。我收到一个连接被拒绝错误:

sqlalchemy.exc.InterfaceError: (pg8000.core.InterfaceError) ('communication error', ConnectionRefusedError(111, 'Connection refused'))
如上所述,我确实遵循了从云运行页面连接到云SQL的说明:

我甚至在关闭了公共IP并且只有私有IP可用后运行了gcloud命令来更新现有的已部署版本,但这并没有什么不同


从云运行到云SQL的连接是否需要公共IP?我在连接文档页面中没有看到这一点。或者,当我试图切换到只拥有私有IP时,是否还遗漏了什么?或者我是否需要创建一个没有公共IP的新云实例,并再次通过实例anme执行连接云的说明?

TL;DR:向谷歌支持部门提出申请

你的案例很有趣,因为我认为它还没有得到支持

事实上,当您使用私有IP创建一个云SQL数据库时

此外,今天,无法将云运行实例插入VPC。有了函数和应用程序引擎,你就有了一个,而不是云运行(它即将到来!)

无服务器VPC连接器执行与云SQL私有IP相同的操作,我的意思是在您的VPC和云功能(或应用引擎)VPC(或类似的东西)之间进行对等

而且,即使无服务器VPC连接器在Cloud Run上可用,也不能确定它是否能正常工作,因为它存在缺陷。简言之,如果您在VPC a->VPC B之间以及VPC B->VPC C之间进行了对等,则无法通过在VPC B中执行跃点从VPC a到达VPC。将a替换为VPC Cloud Run,将B替换为项目的VPC,将C替换为VPC Cloud SQL

只有直接对等网络才能通信。不支持传递对等。换句话说,如果VPC网络N1与N2和N3对等,但N2和N3未直接连接,则VPC网络N2无法通过VPC网络对等与VPC网络N3通信

我没有检查AppEngine或Cloud函数,但这种设计不应该起作用

但我不确定,这就是为什么谷歌支持的案例可以让你有一个明确的答案,也许还可以在路线图上提供信息。欢迎来自谷歌支持的任何有价值的信息

从云运行到云SQL的连接是否需要公共IP?我在连接文档页面中没有看到这一点

在上,它说“注意:这些说明要求您的云SQL实例配置公共IP地址。”

专用IP访问是指从网络进行的访问。为了通过专有网络访问您的实例,您连接到的资源必须是专有网络的一部分。Cloud Run目前不支持VPC访问,所以您现在需要使用公共IP