Google cloud platform 将Google Cloud运行服务连接到Google Cloud SQL数据库

Google cloud platform 将Google Cloud运行服务连接到Google Cloud SQL数据库,google-cloud-platform,google-cloud-sql,google-cloud-run,Google Cloud Platform,Google Cloud Sql,Google Cloud Run,我有2个谷歌云服务: Google云运行服务节点Js/Strapi 谷歌云SQL服务Mysql 我已经从UI向Google Cloud运行服务添加了Cloud SQL连接,并为Google Cloud SQL服务提供了一个公共IP。除此之外,我还将运行服务IP添加到SQL服务的授权网络中 如果我尝试从Google cloud外部的另一台服务器连接,我可以轻松连接到Google cloud SQL服务并执行查询。 但是,如果我尝试使用完全相同的设置Ip、数据库名称等从GCloud运行服务内部连接,

我有2个谷歌云服务:

Google云运行服务节点Js/Strapi 谷歌云SQL服务Mysql 我已经从UI向Google Cloud运行服务添加了Cloud SQL连接,并为Google Cloud SQL服务提供了一个公共IP。除此之外,我还将运行服务IP添加到SQL服务的授权网络中

如果我尝试从Google cloud外部的另一台服务器连接,我可以轻松连接到Google cloud SQL服务并执行查询。 但是,如果我尝试使用完全相同的设置Ip、数据库名称等从GCloud运行服务内部连接,我的连接将挂起,日志中会出现超时错误

如何正确允许Gcloud SQL接受来自Gcloud RUN的连接


我在这里寻找了其他答案,但它们在2015年前后看起来都非常陈旧

您可以使用3种模式访问数据库

使用内置功能。在这种情况下,您不需要指定IP地址,它是一个linux套接字,可以与数据库通信,如中所述 使用云SQL私有IP。这一次,不需要在云运行服务中配置连接,您将不会使用它,因为您将使用IP,而不是linux套接字。这个解决方案需要两件事 首先将您的数据库连接到VPC,然后 然后,您需要通过VPC路由云的私有IP流量。为此,您必须创建一个 使用云SQL公共IP。这一次,无需在云运行服务中配置连接,您将不会使用它,因为您将使用IP,而不是linux套接字。要实现这一点,您需要更多的步骤,而且安全性较低 您需要将云的所有出口流量路由到您的VPC。为此,您必须创建一个 使用部署您的云运行服务 然后创建一个链接,链接是云函数文档,但它的工作方式完全相同 最后在云SQL授权网络上对云NAT IP进行授权。
在您的情况下,您已经将云运行IP列入了白名单,但它是一个共享IP,其他服务也可以使用它!!请注意,这并不总是一样的,谷歌云使用了一个IP地址池。

您可以使用3种模式访问您的数据库

使用内置功能。在这种情况下,您不需要指定IP地址,它是一个linux套接字,可以与数据库通信,如中所述 使用云SQL私有IP。这一次,不需要在云运行服务中配置连接,您将不会使用它,因为您将使用IP,而不是linux套接字。这个解决方案需要两件事 首先将您的数据库连接到VPC,然后 然后,您需要通过VPC路由云的私有IP流量。为此,您必须创建一个 使用云SQL公共IP。这一次,无需在云运行服务中配置连接,您将不会使用它,因为您将使用IP,而不是linux套接字。要实现这一点,您需要更多的步骤,而且安全性较低 您需要将云的所有出口流量路由到您的VPC。为此,您必须创建一个 使用部署您的云运行服务 然后创建一个链接,链接是云函数文档,但它的工作方式完全相同 最后在云SQL授权网络上对云NAT IP进行授权。 在您的情况下,您已经将云运行IP列入了白名单,但它是一个共享IP,其他服务也可以使用它!!要小心,这并不总是一样的,谷歌云使用了一个IP地址池