Google cloud platform 启用私有IP并关闭公共IP后,无法从云运行连接到云SQL
我有一个postgreSQL CLoud SQL实例,我正在通过UNIX套接字连接到该实例,该实例的名称来自一个CLoud Run容器,如文档所示。使用公共IP,此连接工作正常。我期待着关闭公共IP,只有一个私人IP,所以我不会为未来的公共IP收费 当我第一次创建云SQL实例时,我只启用了公共IP。几天后,我启用了私有IP。对于专用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
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