はじめに
こんにちは!クラウドエース株式会社 第一開発部の雲野テックです。
今回は、Cloud SQL Studio を利用する前に知っておきたいことについてお伝えします。
Cloud SQL Studio は便利な機能ですが、事前に知っておくとより効果的に、あるいは安全に活用できるポイントもあるので、ぜひ最後までお読みください。
対象読者
- Cloud SQL を使っている方で、これから Cloud SQL Studio の利用を検討している方
目次
- 従来の Cloud SQL インスタンスへのアクセス方法
- Cloud SQL Studio とは
- Cloud SQL Studio の主なユースケース
- Cloud SQL Studio を使ってインスタンスにアクセスする方法
- Cloud SQL Studio を利用する前に知っておきたいこと
5.1. MySQL の IAM 認証を利用する場合、ユーザー名とパスワード認証のユーザーを作成する必要がある。
5.2. Syntax Error が表示されてもクエリが実行されることがある。
5.3. クエリログはCloud Audit Logs に記録される。 - まとめ
1. 従来の Cloud SQL インスタンスへのアクセス方法
Cloud SQL は Google Cloud 上で動作するフルマネージドな リレーショナル データベース サービスです。
これまで、Cloud SQL インスタンスにアクセスする方法としては、Cloud SQL Auth Proxy の利用が一般的でした。
しかし、Cloud SQL Auth Proxy を使う場合、以下のような点が課題となります。
- インスタンスにアクセスするために、プロキシを起動する必要がある。
- プロキシを起動するためには、認証情報が必要になる。
- データベース内のテーブル・レコードを確認するためには、 SQL クエリを実行するか、 クライアント ツール を使う必要がある。
- ローカル環境からアクセスする場合、Public IP を利用する必要がある。(ただし、ローカル環境が VPC に接続されている場合は Private IP で接続可能です。)
Cloud SQL Studio はこれらの課題を解決し、ブラウザだけで簡単にデータベース操作を可能にします。
2. Cloud SQL Studio とは
Cloud SQL Studio は、Google Cloud コンソールに統合された データベース クエリ エディタ です。
Cloud SQL Studio を利用すると、 SQL クエリの実行やテーブルの内容の確認が Web ブラウザだけで可能になります。
従来の方法では クライアント ツール をインストールしたり、認証プロキシを設定する必要がありましたが、これらの手間を省けるのが大きな利点です。
例えば、開発者がローカル環境からデータベースにアクセスする際に必要だったツールのセットアップやプロキシの起動が不要になります。
サポートされているデータベース
2025 年 4 月時点で Cloud SQL Studio が対応しているデータベースは MySQL、PostgreSQL、SQL Server の 3 種類です。
認証方法
Cloud SQL Studio の認証方法には以下の2種類があります。
IAM 認証
- Google Cloud IAM を利用して、Google Cloud プロジェクト内で設定された役割(ロール)や権限を活用します。
- クラウドの一元管理に適しており、 セキュリティ ポリシー を統一できます。
- ログイン時にパスワードを覚える必要がなく、トークンを利用するため安全性が高まります。
IAM 認証が適している場合
- セキュリティ ポリシー を統一したい場合
- 大規模なチームで利用する場合
- 一時的なアクセスを付与する場合
具体例
- Google Cloud プロジェクト全体で、一貫した セキュリティ ポリシー を運用したい場合
- エンタープライズ 環境 で、数十人以上が Cloud SQL Studio を利用する場合
- 外部の フリーランス 開発者 に一時的な データベース アクセス を提供し、期間終了後に IAM 権限を削除する場合
組み込み認証
- 従来の データベース 認証方式 で、ユーザー名とパスワードを使用します。
- データベース内で個別にユーザー管理を行い、テーブル単位の権限設定が可能です。
- IAM 認証をサポートしていない既存のツールやアプリケーションと連携しやすいのが特徴です。
組み込み認証が適している場合
- シンプルな環境で利用する場合
- 既存の クライアント ツール やアプリケーションを利用する場合
具体例
- 小規模なチームでアクセス権限を簡単に管理したい場合
- デベロッパーが MySQL Workbench などの クライアント ツール を使用してローカル環境からデータベースに接続する場合
利用料金
Cloud SQL Studio の利用自体には追加料金が発生しません。
ただし、インスタンスの利用料金やネットワーク料金などが別途発生する可能性があります。
3. Cloud SQL Studio の主なユースケース
Cloud SQL Studio はその手軽さから様々な場面で役立ちますが、万能ではありません。
特性を理解し、以下のような使い分けを推奨します。
適しているシナリオ
- 開発・テスト環境でのデータ確認
- 開発中のアプリケーションのデータベースを確認する際に、手軽に SQL クエリを実行できます。
- 非エンジニアによる定型的なデータ確認
- 事前に SQL クエリを用意しておくことで、非エンジニアの方でも簡単にデータを確認できます。
不向きなシナリオ
- 大量データの抽出・分析
- クエリによって返される結果の行数やデータサイズに上限があるため、大規模なデータ抽出や分析には向きません。
- 本番環境での定常的なオペレーション
- 手動操作によるミスが発生しやすく、ロールバックやトラブルシューティングが難しくなります。
- 複雑なデータ操作
- 専用 クライアント ツール が持つような、高度な SQL 編集支援、デバッグ、実行計画分析、厳密なトランザクション管理といった機能がないためです。
4. Cloud SQL Studio を使ってインスタンスにアクセスする方法
SQL Server をご利用の方へ
本記事では主に MySQL と PostgreSQL インスタンスにおける利用手順や注意点について解説します。
SQL Server インスタンスでも Cloud SQL Studio はサポートされていますが、ユーザー作成や権限設定、固有の注意点など異なる部分もありますので、詳細は公式ドキュメント等も併せてご確認ください。
UI に関する注意点
本記事の手順説明や画像は、執筆時点の Google Cloud コンソールの UI に基づいています。
Google Cloud の UI は随時更新されるため、実際の画面と異なる場合があります。
メニュー名やオプション名が変わる可能性もありますので、ご注意ください。
Cloud SQL にアクセスする
- Google Cloud Console の左上の ナビゲーション メニュー をクリックします。
- 「SQL」を選択します。
- 接続したいインスタンスを選択します。インスタンス名をクリックするだけで詳細ページに移動します。
- インスタンスの詳細ページが表示されます。
組み込み認証のユーザーを作成する
- 左のサイドバーから「ユーザー」を選択します。
- 「ユーザー アカウント を追加」をクリックします。
- 組み込み認証を選択し、ユーザー名とパスワードを入力します。
- (MySQL インスタンスのみ)必要に応じて、 パスワード ポリシー や IP 制限を設定します。
- 「追加」をクリックします。
これで組み込み認証のユーザーが作成されました。
作成されたユーザーには、デフォルトで データベース エンジン に応じた強力な権限(例: PostgreSQL のcloudsqlsuperuser
)が付与されます。
ユーザー名とパスワードでログインする
- 左のサイドバーから「Cloud SQL Studio」を選択します。
- アクセスしたいデータベースを選択します。
- 認証方法は組み込み データベース 認証を選択します。
- ユーザー名とパスワードを入力し、認証をクリックします。
- データベースにアクセスできます。
IAM 認証のユーザーを作成する
- 左のサイドバーから「ユーザー」を選択します。
- 「ユーザー アカウントを追加」をクリックします。
- IAM 認証を選択し、ご自身の ユーザー アカウント を入力します。(ユーザー グループを入力することも可能です。)
- 「追加」をクリックします。
これで IAM 認証のユーザーが作成されました。
付与されたロールは、Cloud SQL Studio User (roles/cloudsql.studioUser)
です。
IAM 認証でログインする場合
- アクセスしたいデータベースを選択します。
- 認証方法は「IAM データベース認証」を選択し、認証をクリックします。
- データベースにアクセスできます。
ログイン後の操作
エディタにクエリを入力し、「実行」をクリックすることで、データベースの操作が可能です。
また、テーブル一覧を確認したり、テーブルの内容を表示することもできます。
5. Cloud SQL Studio を利用する前に知っておきたいこと
5.1. MySQL インスタンスで IAM 認証を利用する場合、組み込み認証のユーザーを作成し、IAM 認証のユーザーに権限付与する必要がある
MySQL インスタンスでは、 IAM 認証ユーザーを追加しただけでは、データベースへのアクセス権限がありません。
IAM はあくまで Google Cloud リソースへのアクセスを許可するものであり、MySQL データベース内のオブジェクトへの権限は別途付与する必要があります。
以下の手順で権限を付与してください。
-
root
ユーザーとは別で、組み込み認証のユーザーを作成します。 - 「1.」のユーザーを利用して、IAM 認証のユーザーにデータベースへのアクセス権を付与します。
MySQL インスタンスの IAM 認証のユーザーは、デフォルトではデータベースへのアクセス権を持っていません。
したがって、まず組み込み認証のユーザーを作成し、そのユーザーを使って IAM 認証のユーザーにデータベースへのアクセス権を付与する以下のクエリを実行する必要があります。
データベース名とユーザー名は適宜変更してください。
grant all on データベース名.* to "ユーザー名";
一方、PostgreSQL のインスタンスの IAM 認証のユーザーは、デフォルトで Cloud SQL Studio にログインできます。
5.2. Syntax Error が表示されてもクエリが実行されることがある。
Cloud SQL Studio のクエリエディタの構文解析機能が、一部の有効な SQL 構文を誤ってエラーとして検知してしまうことがあります。
例えば、以下のクエリをエディタに入力します。
すると、以下の画像のように Syntax Error が表示されます。
しかし、実行ボタンを押下すると、クエリが正常に実行されます。
この現象の根本的な原因は、Cloud SQL Studio がクエリ実行前に画面上で行う「構文チェック(Syntax Check)」と、
実際に データベース エンジン(MySQL や PostgreSQL)がクエリを受け取って解釈・実行する際の「構文解析(Parsing)」が、別々の仕組みで行われていることにあります。
そのため、Syntax Error が表示されても、正しい文法であることを確認し、一度実行してみることをおすすめします。
5.3. クエリログはCloud Audit Logs に記録される
Cloud SQL Studio を含む Cloud SQL へのアクセスや実行されたクエリ(データ アクセス ログ を有効化している場合)は、Cloud Audit Logs に記録されます。
Cloud SQL Studio のページからは、クエリログを直接確認することはできませんが、Cloud Console の「ログ」セクションから確認できます。
6. まとめ
Cloud SQL Studio は、Google Cloud コンソール上で Cloud SQL インスタンスに直接アクセスできる便利な機能です。
これにより、Cloud SQL Auth Proxy を利用する場合と比較して、以下のようなメリットがあります。
- プロキシの起動や クライアント ツール のセットアップが不要
- ブラウザ上で手軽に SQL クエリを実行可能
また、5章で紹介したポイントを押さえておくことで、より効率的に Cloud SQL Studio を利用できるようになります。
ぜひ、Cloud SQL Studio を活用して、データベースの操作をスムーズに行ってみてください。
参考文献
免責事項
本記事の内容は、執筆者個人の見解と、執筆時点(2025 年 4 月)の情報に基づいています。
Google Cloud のサービスや機能は変更される可能性があるため、最新の情報については必ず公式ドキュメントをご確認ください。
本記事の内容の正確性、完全性、有用性について、筆者および所属組織はいかなる保証も行いません。
商標について
Google Cloud および本記事に記載されているすべての Google Cloud サービス名(Cloud SQL, BigQuery 等を含む)や機能名は、Google LLC の商標または登録商標です。
その他のすべての商標は、それぞれの所有者に帰属します。
Views: 0