エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【GCP】CloudSQLで作ったインスタンスに、ローカルからアクセスしたい【412日目】

こんなとき

Cloud SQLを使ってMySQLを作りました。

その上で、開発中等にMySQLWorkbenchなどのアプリケーションでアクセスしたい。

ドキュメント

基本的にはここを参照。

ローカルテストにプロキシを使用する場合のクイックスタート  |  Cloud SQL for MySQL  |  Google Cloud

こちらの記事は、備忘録+アプリケーション側での使い方も説明。

1. Cloud SQL API を有効にする

ヘルプページにある、ENABLE THE APIをクリックすると、以下のようなページに飛ぶ。

そして、MySQLインスタンスを作ったプロジェクトを選択。

f:id:willow710kut:20181128164308p:plain

次へを押していけば設定できます。
途中、認証がどうたらでエラーが出るかもですが、無視しても大丈夫です!

2. 必要なものをインストール

ここはヘルプページに説明をお願いしようと思います。

基本的には、gcloud、cloud_sql_proxyのインストールをしましょう。

プロキシを開始する

どのインスタンスに接続するか、インスタンスの接続名を取得しておいてください!

で、先程インストールしたcloud_sql_proxyを 実行します。

./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306

ここで、注意。

Listening on ~って書かれたら、今実行中ってことです。そのままにしておいてください。

ドキュメントをちゃんと読めばわかりますが、このcloud_sql_proxyがやっていることは、
127.0.0.1にアクセスしたときに、さっき設定したSQLインスタンスに接続を切り替えてくれるような仕組みです。

アプリケーションで接続

ここからは、ドキュメントにないやつですね。

さて、アプリケーションでの接続ですが。必要な情報は、

ホスト名・ユーザー名・パスワード

ですね。このホスト名ですが、先程書いたように、127.0.0.1を選択してください。

そして、ユーザーとパスワード。人によっては、ユーザーはrootかもしれないですね。

cloud_sql_proxyが動いている状態で、127.0.0.1にアクセスするとなんと!該当のSQLインスタンスに接続ができます。
満足したら、cloud_sql_proxyは、ctrl+Cとかで終わらせてあげてくださいね。

コマンド打つのが面倒

そんなあなたに。

.bash_profileにこんな感じのこと書けばいいんじゃないかな

alias gmysql='~/y/cloud_sql_proxy -instances=xxxxxx=tcp:3306'

cloud_mysql_proxyのパスや、インスタンスの接続先は自分の環境に合わせてくださいね。

これでターミナル再起動なりすれば、gmysqlのコマンド一発でプロキシ起動できますね。

お疲れ様でした!