言語は Golang を使用します。いくつか方法があるようです。
- Cloud SQL Proxy、Workload Identity
- Cloud SQL Proxy、サービス アカウント キーファイル
- Private IP による接続
- Go による外部接続
ここでは、Cloud SQL Proxy、サービス アカウント キーファイルで接続します。ドキュメントはこちら。
https://cloud.google.com/sql/docs/mysql/connect-kubernetes-engine?hl=ja
構成
Golang アプリケーションから Cloud SQL へのアクセスは以下のようになります。
Golang アプリケーション -> Cloud SQL Proxy -> Cloud SQL
Golang アプリケーションと Cloud SQL Proxy は同じ Pod 内で動作します。この構成をサイドカーと呼ぶようです。
Cloud SQL であらかじめユーザーを作成しておきます。
Golang アプリケーションでは、そのユーザーの名前とパスワードを指定します。MySQL のホストは127.0.0.1
、ポートは3306
です。
Cloud SQL Proxy では、Cloud SQL のインスタンス名を指定します。
1 |
|
1 |
|