I'm writing a service (Golang) that is meant to access a CloudSQL database.
The recommended way to connect to the CloudSQL instance is to use the cloud_sql proxy - to authenticate with the database and handle the SSL.
However, for performance and few other reasons I would like to access the database directly using a Golang package that handles the authentication.
Currently, using the database/sql
package to initiate a connection to the database won't work because I need to whitelist the machine IP with CloudSQL. But given that I'm using Kubernetes to deploy my application, the origin IP could change at any moment.
I'd love to know if anyone knows what would be the best way of going about solving this problem.