我正在编写一个旨在访问 CloudSQL 数据库的服务(Golang)。
连接到 CloudSQL 实例的推荐方法是使用 cloud_sql 代理 - 对数据库进行身份验证并处理 SSL。
但是,出于性能和其他几个原因,我想使用处理身份验证的 Golang 包直接访问数据库。
目前,使用该database/sql
包启动与数据库的连接将不起作用,因为我需要使用 CloudSQL 将机器 IP 列入白名单。但鉴于我使用 Kubernetes 来部署我的应用程序,源 IP 可能随时更改。
我很想知道是否有人知道解决这个问题的最佳方法是什么。