在单独的项目中从App Engine连接到GCP Cloud SQL[英] Connecting to GCP Cloud SQL from App Engine in separate project

本文是小编为大家收集整理的关于在单独的项目中从App Engine连接到GCP Cloud SQL的处理方法,想解了在单独的项目中从App Engine连接到GCP Cloud SQL的问题怎么解决?在单独的项目中从App Engine连接到GCP Cloud SQL问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在尝试从单独的 GCP 项目中的 GCP Google App Engine 柔性环境连接到 GCP Postgres Cloud SQL 实例.我正在使用 Python.

说明表明这需要将默认 App Engine 服务帐号添加为 Postgres Cloud SQL 项目中的 IAM 成员.

文档继续说明:

<块引用>

部署后,您的应用程序将使用 App Engine 柔性环境中内置的 Cloud SQL 代理与您的 Cloud SQL 实例进行通信.

但是,我没有成功从 GAE 连接到 Cloud SQL.我尝试了多种主机地址(例如 localhost、<external-ip-address>、/cloudsql/<INSTANCE_CONNECTION_NAME> 等),但似乎没有任何效果.

想到几个问题:

  • 是否需要手动向 GAE 实例提供服务帐号密钥?

  • 连接参数或 DSN 字符串的 Cloud SQL 实例的实际主机位置是什么?文档提到 /cloudsql/<INSTANCE_CONNECTION_NAME> 虽然我没有运气.

  • 我需要创建一个共享网络来链接项目吗?

推荐答案

我刚刚复制了您的用例场景,并成功地将一个项目中的 Cloud SQL 数据库与另一个项目中的 Cloud App Engine 连接起来.

重现的步骤如下:

在我的复制过程中发现了您遇到的可能问题.可能您没有启用第二个项目(仅托管 App Engine)的 API.

要验证这一点,您只需 ssh 进入托管应用引擎的机器,然后运行 ​​docker ps -a 以获取托管 cloud-sql-proxy 的 docker 容器的 id.然后使用该 ID 运行 docker logs -f ID_OF_THE_CONTAINER ,您将查看 Cloud SQL 代理中是否有错误.如果您禁用了 API,只需启用它并再次部署.

本文地址:https://www.itbaoku.cn/post/1763901.html