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

如何自动将GCP自动扩缩容GKE节点公网IP添加到SQL实例允许连接列表

可行方案整理

方案1:优先采用更稳定的无IP白名单依赖方案(推荐)

  • Cloud SQL Auth Proxy:在GKE集群中以Sidecar或者Deployment形式部署Cloud SQL Auth Proxy,所有Pod访问SQL实例都通过Proxy转发,Proxy用GCP服务账号权限鉴权,完全不需要配置节点公网IP白名单,也不受扩缩容影响,是官方推荐的生产级访问方案。
  • VPC内网访问:给Cloud SQL实例开启私有IP,和GKE集群放在同一VPC或者配置VPC peering,Pod直接通过内网IP访问SQL实例,不需要走公网,自然不需要配置公网IP白名单,安全性和访问延迟都更优。

方案2:如果必须保留公网IP白名单的访问方式,可通过自动化流程实现IP自动添加

核心逻辑是监听GKE节点创建事件,触发自动更新Cloud SQL的白名单配置,实现步骤如下:

  1. 开启GCP Audit Log日志,监听compute.instances.insert事件(GKE节点本质是Compute Engine虚拟机,创建时会触发该事件)
  2. 配置Eventarc规则,匹配对应GKE集群的节点创建事件,触发Cloud Function/Cloud Run服务
  3. 服务逻辑:
    • 提取新创建节点的公网IP
    • 调用Cloud SQL Admin API,将该IP添加到对应SQL实例的authorizedNetworks配置中
    • 可选:添加过期清理逻辑,监听节点删除事件,同步从白名单中移除释放的IP,避免白名单冗余
  4. 给执行的服务账号授予roles/cloudsql.editor(仅修改SQL实例配置权限)和roles/compute.viewer(读取节点IP权限)的最小权限角色

注意事项

  • 自动化添加白名单的方案会存在数秒到1分钟左右的延迟,节点刚创建的短时间内Pod可能还是无法连接SQL实例
  • 频繁扩缩容的场景下白名单条目会快速增加,Cloud SQL单实例白名单条目有默认上限(100条,可申请上调),建议搭配节点删除的同步清理逻辑使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:45:04