2017-12-19 6 views
0

Ich schreibe einen Dienst (Golang), der auf eine CloudSQL-Datenbank zugreifen soll.Optimaler Zugriff auf CloudSQL ohne den clouds_sql-Proxy

Der empfohlene Weg zur Verbindung mit der CloudSQL-Instanz besteht in der Verwendung des cloud_sql-Proxys - zur Authentifizierung mit der Datenbank und zur Handhabung des SSL.

Aus Gründen der Leistung und aus anderen Gründen möchte ich jedoch direkt auf die Datenbank zugreifen, indem ich ein Golang-Paket verwende, das die Authentifizierung übernimmt.

Momentan funktioniert die Verwendung des database/sql-Pakets zum Initiieren einer Verbindung zur Datenbank nicht, da ich die IP-Adresse der Maschine mit CloudSQL auf die weiße Liste setzen muss. Aber da ich Kubernetes zum Bereitstellen meiner Anwendung verwende, könnte sich die Ursprungs-IP jederzeit ändern.

Ich würde gerne wissen, ob jemand weiß, was der beste Weg zur Lösung dieses Problems wäre.

Antwort

0

Wenn Sie auf Postgresql sind, können Sie ihre go Bibliothek verwenden: https://cloud.google.com/sql/docs/postgres/connect-external-app#go

Für MySQL finden Sie in diesem Dokument: https://cloud.google.com/sql/docs/mysql/connect-external-app#go

diesen Ansatz nicht getestet haben (dieser Anbieter würde mich sperren, um gcloud), aber ihre Dokumentation ist tendenziell zuverlässig und aktuell.

+0

Danke, ich habe die 'github.com/GoogleCloudPlattform/cloudsql-proxy/proxy/dialers/mysql'-Bibliothek gefunden, die genau das tut, was ich will. – Anurope

+0

Sie haben in Ihrer ursprünglichen Frage Bedenken hinsichtlich der Leistung erwähnt - die Leistung, die die Bibliothek verwendet, entspricht ungefähr der Verwendung des Proxy über UNIX-Sockets. – Vadim

Verwandte Themen