ローカルからCloudSQLに接続する

ローカルからCloudSQLに入るための設定。
前提として、踏み台サーバーがあってそれのみがCloud SQLへの接続を許可されている状態がある。

まずは、踏み台サーバーにログインして初回はcloud_sql_proxyを入れておく。

踏み台サーバーにログイン
$ curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64
$ chmod +x cloud_sql_proxy

あとは、認証もしておく。以下を実行するとURLが発行されるので、そのURLをブラウザで踏む。

あとは、認証手続きを進めていって、コードが発行されるので、そのコードをターミナルにペーストしてエンターを押せば認証完了。

そのあとは、cloud_sql_proxyを実行しておく。

$ gcloud auth login --no-launch-browser

$ ./cloud_sql_proxy -instances={project id}:{region name}:{db instance name}=tcp:0.0.0.0:1234

あとは、手元でsshの接続先のIPなりを踏み台として指定して接続すればOK。

SequelあたりのGUIツールなら設定変更に踏み台のサーバー情報を追加する。

コマンドラインでフォワーディングするなら以下を実行
$ gcloud compute ssh {ip なり ホスト名なり} --zone=ZONE -- -L 3306:localhost:3306

# 手元PCのMySQLクライアントで接続
$ mysql -h 127.0.0.1 -P 3306 -u USERNAME -p

踏み台って、英語でbastionっていうのをこれを書いている過程で今更ながらに知った。