Google Cloud Platform - 在一个项目中使用 mysql 实例到另一个项目 - 将一个项目中的 m



项目 A - 在 Flask 和 Python 中运行 webapp(端点为 @app.route ...(

项目 B - 在 Flask 和 Python 中运行另一个 Web 应用程序(端点为 @app.route ....

我们在 Google Cloud Platform 的项目 A 中有一个 MySQL (CLOUD SQL( 实例。我们使用Unix套接字连接到它,它在项目A中连接得很好(在项目A中一切都很好(。

但是,当我们在 GCP 中对项目 B 使用相同的 MySQL 实例时......它给出了 2002 - 连接被拒绝错误。 和浏览器页面上的(内部服务器错误([因为它无法连接到数据库]。

需要帮助来了解如何跨 2 个项目连接 GCP 中的单个 MySQL(云 SQL(实例。(在同一帐户中( 注意:所有这些都在同一区域

我知道您的云 SQL 实例具有公共 IP,并且您在 app.yaml 中为您的 2 个应用程序正确设置了"CLOUD_SQL_CONNECTION_NAME"配置。因为如果您在云 SQL 实例中使用私有 IP,则无法建立此连接(除非您的云 SQL 实例驻留在主机项目中和/或您为云 SQL VPC 对等启用导入/导出自定义路由,但是,要实现最后一个选项,您需要联系 GCP 支持(。

话虽如此,如果您使用公共 IP,您唯一需要做的就是在项目 A 的 IAM 部分中授予项目 B 的 App Engine 服务帐户(应类似于"service-[YOUR_PROJECT_NUMBER_B]@gae-api-prod.google.com.iam.gserviceaccount.com"(连接到 Cloud SQL 的权限(完成此操作的最受限制的预定义角色是"云 SQL 客户端"角色(。

最新更新