【问题标题】:Optimal way to access CloudSQL without the clouds_sql proxy无需 cloud sql 代理即可访问 Cloud SQL 的最佳方式
【发布时间】:2017-12-19 12:23:10
【问题描述】:

我正在编写一个用于访问 CloudSQL 数据库的服务 (Golang)。

连接到 CloudSQL 实例的推荐方法是使用 cloud_sql 代理 - 对数据库进行身份验证并处理 SSL。

但是,出于性能和其他几个原因,我想使用处理身份验证的 Golang 包直接访问数据库。

目前,使用database/sql 包启动与数据库的连接将不起作用,因为我需要使用 CloudSQL 将机器 IP 列入白名单。但鉴于我使用 Kubernetes 来部署我的应用程序,源 IP 可能随时更改。

我很想知道是否有人知道解决此问题的最佳方法。

【问题讨论】:

    标签: go google-cloud-sql gcp cloud-sql-proxy


    【解决方案1】:

    如果您使用的是 Postgresql,您可以使用他们的 go 库:https://cloud.google.com/sql/docs/postgres/connect-external-app#go

    对于 MySQL,请参阅此文档: https://cloud.google.com/sql/docs/mysql/connect-external-app#go

    尚未测试过这种方法(供应商会将我锁定到 gcloud),但他们的文档往往是可靠且最新的。

    【讨论】:

    • 谢谢,我找到了 github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql 库,它完全符合我的要求。
    • 您在原始问题中提到了对性能的担忧——使用库的性能与通过 UNIX 套接字使用代理的性能大致相同。
    猜你喜欢
    • 2022-08-18
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多