问题描述
我已按照 Cloud Foundation Toolkit 使用 Google 提供的 Terraform modules 在 GCP 中创建了我的组织基础架构。
下表列出了所有环境的 IP 范围:
现在我正在部署我的应用程序,该应用程序基本上由 Cloud Run 服务和一个 Cloud SQL (Postgres) 实例组成。 Cloud SQL 实例是使用“未分配”IP 范围中的私有 IP 创建的,该 IP 范围是为对等服务(例如 Cloud SQL)保留的。
为了在 Cloud Run 和 Cloud SQL 之间建立连接,我还创建了无服务器 VPC 连接器(ip 范围 10.1.0.16/28)并配置了 Cloud SQL 代理。
当我尝试从 Cloud Run 服务连接到数据库时,大约 10 秒后出现此错误:
CloudSQL 连接失败。有关其他详细信息,请参阅 https://cloud.google.com/sql/docs/mysql/connect-run:发布“https://www.googleapis.com/sql/v1beta4/projects/[my-project]/instances/platform-db/createEphemeral?alt=json&prettyPrint=false”:超出上下文截止日期
我已为默认 Cloud Run SA 和宿主项目中应用程序使用的 Cloud Run SA 授予 roles/vpcaccess.user
。
我已为服务项目中的两个 SA 授予 roles/compute.networkUser
。我还为两个 SA 授予了 roles/cloudsql.client
。
我已在服务项目中启用 servicenetworking.googleapis.com
和 vpcaccess.googleapis.com
。
我的想法已经用完了,我无法弄清楚问题是什么。
当 Cloud Run 尝试向 Cloud SQL API 创建 POST 请求时,这似乎是一个超时错误。所以看起来 VPC 连接器 (10.1.0.16/28) 无法连接到 Cloud SQL 实例 (10.0.80.0/20)。
有没有人遇到过这个问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)