GCP Cloud SQLでローカルからmysqlへ接続する(プロキシ)

接続に必要なものは大きく3つ。
json鍵ファイル
Cloud SQL Proxy
接続情報

Cloud SQL自体の説明は以下にまとめている。
https://trueman-developer.blogspot.com/2018/10/gcpgcp-cloud-sql.html





Proxy インストール



プロキシ経由で通信するため、そのツールを導入する。

https://cloud.google.com/sql/docs/mysql/sql-proxy?hl=ja#install

Macの場合以下のコマンド

curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
chmod +x cloud_sql_proxy


Windowsは以下から
https://cloud.google.com/sql/docs/mysql/sql-proxy?hl=ja#windows-64-bit

場所は任意。プロジェクトのドキュメントなどを配置しているディレクトリ以下が良い。


サービスアカウント作成



認証用のサービスアカウントを作成する。

GCPコンソール → IAMと管理 → サービスアカウント

ロール:Cloud SQL クライアントで作成

作成したサービスアカウントを選択してキーの作成(JSON)

xxxxxx-2x4602-bb79c8c0xxx0d.json

ダウンロードしたjsonファイルはProxyと同階層に配置する。


Cloud SQL インスタンス接続名を確認


SQL → インスタンスからインスタンス接続名取得

インスタンス接続名: xxxxxx-2x4602-bb79c8c0xxx0d:asia-northeast2:db-name

プロキシ起動
./cloud_sql_proxy -instances=xxxxxx-2x4602-bb79c8c0xxx0d:asia-northeast2:db-name=tcp:13306 -credential_file=xxxxxx-2x4602-bb79c8c0xxx0d.json

instancesはCloud SQLのインスタンス名をcredential_fileはjsonファイルを指定する。


接続



A5SQL, SequelProなど任意のアプリケーションで接続。

ホスト: 127.0.0.1
ユーザ: root
パスワード: xzcdcddfds
データベース: main
ポート: 13306

ユーザ、パスワード、データベースは作成時の情報を入力する。


参考



https://cloud.google.com/sql/docs/mysql/sql-proxy?hl=ja
https://qiita.com/ryu-yama/items/f635a7608469bf019de7

2020年7月28日火曜日