从 Google Cloud 上的 Cloud Run 访问 Cloud SQL

2023-12-08

我有一个 Cloud Run 服务,可以通过以下方式访问 Cloud SQL 实例SQLAlchemy。但是,在 Cloud Run 的日志中,我看到CloudSQL connection failed. Please see https://cloud.google.com/sql/docs/mysql/connect-run for additional details: ensure that the account has access to "<connection_string>"。转到该链接,它说:

“默认情况下,您的应用程序将使用 Cloud Run(完全托管)服务帐户授权您的连接。服务帐户的格式为[电子邮件受保护]."

然而,以下(https://cloud.google.com/run/docs/secure/service-identity) says:

“默认情况下,Cloud Run 修订版使用 Compute Engine 默认服务帐号 ([电子邮件受保护]),它具有“项目”>“编辑者”IAM 角色。这意味着默认情况下,您的 Cloud Run 修订版具有对 Google Cloud 项目中所有资源的读写访问权限。”

那么这是否意味着 Cloud Run 已经可以访问 SQL 了?我已在 Cloud Run 部署页面中设置了 Cloud SQL 连接。您建议我做什么才能允许从 Cloud Run 访问 Cloud SQL?

编辑:我必须启用 Cloud SQL API。


不可以,Cloud Run 默认情况下无法访问 Cloud SQL。您需要遵循两条路径之一。

  1. 使用本地 unix 套接字文件连接到 SQL:您需要像您所说的那样配置权限,并使用指示连接到数据库的意图的标志进行部署。跟随https://cloud.google.com/sql/docs/mysql/connect-run

  2. 使用私有 IP 连接到 SQL:这涉及将 Cloud SQL 实例部署到 VPC 网络中,从而使其获得私有 IP 地址。然后,您使用 Cloud Run VPC Access Connector(当前为测试版)来允许 Cloud Run 容器能够连接到该 VPC 网络,其中直接包含 SQL 数据库的 IP 地址(无需 IAM 权限)。跟随https://cloud.google.com/vpc/docs/configure-serverless-vpc-access

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Google Cloud 上的 Cloud Run 访问 Cloud SQL 的相关文章

随机推荐