Cloud SQLにDBツールでローカルから接続する(A5:SQL Mk-2)

はじめに

Cloud SQLにローカルからA5:SQL Mk-2(DBツール)で接続する方法を紹介します。
今回はツールとしてA5:SQL Mk-2を選択していますが、他のツールでも問題ありません。

基本的に下記の公式ドキュメントを元に進めれば問題なく接続できると思います。 外部アプリケーションから Cloud SQL に接続する  |  Cloud SQL for MySQL  |  Google Cloud

環境

Windows10

事前準備

1. API を有効化する

Cloud SQL Admin API を有効にします。

2. ローカルマシンにプロキシ クライアントをインストールする

https://dl.google.com/cloudsql/cloud_sql_proxy_x64.exe?hl=ja インストールというよりはexeファイルをダウンロードするだけのようです。

Windows64ビットのタブを開いてexeのリンクをクリックし保存します。

cloud_sql_proxy.exeとして、以下に保存しました。(保存場所は任意)
C:/Users/<ユーザ名>/.gcp/cloud_sql_proxy.exe

3 サービス アカウントを作成する

3-1 Google Cloud Console の [サービス アカウント] ページに移動します。

[サービス アカウント] ページに移動

3-2 Cloud SQL インスタンスを含むプロジェクトを選択します。
3-3 [サービス アカウントを作成] をクリックします。
3-4 [サービス アカウントの作成] ダイアログで、わかりやすいサービス アカウント名を指定します。

ここでは CloudSqlAccessとします。 f:id:katutoki:20210814003620p:plain

3-5 [役割] で、次のいずれかの役割を選択します。
  • [Cloud SQL] > [Cloud SQL クライアント]
  • [Cloud SQL] > [Cloud SQL 編集者]
  • [Cloud SQL] > [Cloud SQL 管理者]

ここでは権限が最低限の[Cloud SQL クライアント]を選択

f:id:katutoki:20210814005342p:plain

※これらの役割が表示されない場合、Google Cloud ユーザーに resourcemanager.projects.setIamPolicy 権限がない可能性があります。
権限を確認するには、Google Cloud Console の IAM ページにアクセスし、自分のユーザー ID を検索します。

3-6 サービスアカウントの作成

上記の設定で作成します。

3-7 [新しい秘密鍵の提供] をクリックし、キーのタイプが JSON であることを確認します。

作成したらサービスアカウントの一覧から作成したサービスアカウントをクリック
[鍵の追加]をクリック
[新しい鍵の作成]をクリック
f:id:katutoki:20210813235738p:plain

3-8 [作成] をクリックします。

f:id:katutoki:20210814000018p:plain 秘密鍵ファイルがマシンにダウンロードされます。
秘密鍵ファイルは、別の場所に移動できます。
安全な場所に鍵ファイルを保管してください。-

プロキシクライアントと同じ場所に保存しました。 C:/Users/<ユーザ名>/.gcp/cloudSqlAccess.json

4 プロキシの起動

以下のコマンドでプロキシを起動します。
ここでは、

C:/Users/<ユーザ名>/.gcp/cloud_sql_proxy.exe -instances=<インスタンス接続名>=tcp:13306 -credential_file=C:/Users/<ユーザ名>/.gcp/cloudSqlAccess.json

5 DBツールで接続情報の設定

5-1 [データベースの追加と削除]をクリック

f:id:katutoki:20210814001651p:plain

5-2 [追加]をクリック

5-3 [MySQL/MariaDB(直接接続)]をクリック

f:id:katutoki:20210814002540p:plain

5-4 接続情報を設定

  • ホスト名: 127.0.0.1 (ローカルループバックアドレス
  • ポート番号: 13306 (先ほどプロキシ起動で指定したポート)
  • ユーザID: Cloud SQLで作成したユーザ名
  • パスワード: Cloud SQLで作成したユーザのパスワード
  • データベース: Cloud SQLで作成したDB名

5-5 [テスト接続]をクリック

成功したらOK