GormでCloud SQLに接続する
Cloud RunにGoで作成したAPIをデプロイしようと思ったところ、うまくいかなかった。 調査してみたところ、データーベースに接続できずに落ちているっぽいとのこと。 ちょっとなんでかわからないけど(今思い返せば、Docker起動していた? という不安がある)、ローカルのDBに接続できないので、いずれ接続する予定だったので、Cloud SQLに接続し、それでCloud Runにデプロイしてみようという風に思い立った。 Cloud SQLに登録する Cloud Run から Cloud SQL for MySQL に接続するがある。 公式があるので、こちらを参考にする。 なお、今回サーバーはローカル(net/http)で起動することにする。 インスタンスを作成する Google Cloud コンソールで Cloud SQL の [インスタンス] (https://console.cloud.google.com/sql?hl=ja&_ga=2.145632700.968950133.1716041931-758618644.1700836939)ページに移動する。 インスタンスを作成 をクリック。 [MySQL を選択] をクリック。 インスタンスを作成するには、まず Compute Engine API を有効にする必要があります。 という警告が出るので、APIを有効にする。 インスタンスID、パスワード、を登録。 My SQLのバージョンを8にし、Cloud SQL のエディションはEnterpriseにする。 プリセットをいったん開発環境にして、リレージョンを東京、ゾーンをシングルに設定する。 構成オプションを開き、とりあえず一番小さい1 vCPU、3.75 GBを選択してみる。 で、インスタンスを作成する。 構成オプションはとりあえず、最小で不満があればあげていく方法で問題ないらしい。 DBの作成 インスタンスのデータベースにいき、データーベースの作成をクリックする。 今回インスタンスの作成をし、データーベースの作成をしていなかったので、エラーが出続け、悩まされた。 接続を試みる まず接続をしてみたところ、 $ go run main.go 2024/05/26 00:41:05 cloudsqlconn.NewDialer: failed to create default credentials: google: could not find default credentials....