You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何授权Google App Engine访问Cloud SQL(PostgreSQL)实例?

嗨,我之前也碰到过这个问题!其实GAE连接Cloud SQL根本不需要手动加IP地址——毕竟GAE的出站IP是动态变化的,就算你找到了当前的IP,过段时间也会变,完全不实用。下面给你两种官方推荐的靠谱方法:

方法一:使用Cloud SQL Auth Proxy(灵活易配置)

这是最常用的方式,不需要改动网络配置,靠服务账号认证来建立安全连接:

  • 先确认你的项目已经启用了Cloud SQL Admin API(在Google Cloud控制台的API库中搜索启用即可)
  • 打开你的GAE项目的app.yaml配置文件,添加数据库连接信息和Proxy配置:
    # 数据库环境变量
    env_variables:
      CLOUD_SQL_CONNECTION_NAME: "你的项目ID:实例区域:实例名称"
      DB_USER: "你的数据库用户名"
      DB_PASS: "你的数据库密码"
      DB_NAME: "要连接的数据库名"
    
    # 启用Cloud SQL Auth Proxy
    beta_settings:
      cloud_sql_instances: "你的项目ID:实例区域:实例名称"
    
  • 重新部署你的GAE应用,部署完成后,GAE会自动通过Auth Proxy和Cloud SQL建立安全连接,完全不需要在SQL实例的授权页加任何IP。
方法二:使用VPC网络连接(低延迟更稳定)

如果你的应用对延迟有要求,或者需要和其他VPC内的服务互通,可以用这种方式:

  • 第一步创建Serverless VPC Access连接器:在Google Cloud控制台的「VPC网络」菜单里找到「Serverless VPC Access」,创建一个和你的Cloud SQL实例同区域的连接器
  • 确保你的Cloud SQL实例使用私有IP(如果之前用的是公网IP,可以在实例设置里切换,切换后会分配VPC内的私有地址)
  • 在Cloud SQL的授权页面,添加你VPC网络的CIDR范围(或者直接允许VPC内的访问,只要实例和GAE通过连接器在同一个VPC,就能直接互通)
  • 最后在app.yaml里配置使用VPC连接器:
    vpc_access_connector:
      name: "projects/你的项目ID/locations/实例区域/connectors/你的连接器名称"
    
  • 重新部署应用后,GAE就能通过VPC内部网络直接访问Cloud SQL,安全性和稳定性都更高。

补充一句:千万不要尝试去收集GAE的出站IP来添加授权——Google不会提供固定的IP列表,而且IP会随时变动,这种方法根本不可靠,上面两种才是官方支持的正确路径。

内容的提问来源于stack exchange,提问作者gcp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:56:41