Go アプリケーションを Cloud SQL に接続する方法
Google Cloud Japan Team
※この投稿は米国時間 2023 年 3 月 25 日に、Google Cloud blog に投稿されたものの抄訳です。
Go アプリケーションを Cloud SQL データベースに安全に接続する最も簡単な方法は、Cloud SQL Go コネクタを使用することです。Go アプリケーションを作成する場合は、Cloud SQL Go コネクタを使用することをおすすめします。
Cloud SQL Go コネクタを使用するケース
Cloud SQL には次の 2 種類のコネクタがあります。
Cloud SQL Auth Proxy - 言語固有のコネクタを利用できない場合に適しています。
これらのコネクタには、従来のデータベース接続を大きく上回るメリットがあります。コネクタを使用するメリットのいくつかは、以前のブログ投稿の Cloud SQL コネクタについてで説明しています。コードレベルの制御が可能な Cloud SQL Go コネクタは、Go アプリケーションをデータベースに安全に接続する最も便利な方法です。


試してみる
GitHub の README には、PostgreSQL、MySQL、SQL Server 用にコネクタをアプリケーションに連携するための手順を説明するドキュメントが含まれています。この手順がいかに簡単かをお見せするために、How to connect a Go application on Cloud Run to a Cloud SQL for PostgreSQL database(Cloud Run 上の Go アプリケーションを Cloud SQL for PostgreSQL データベースに接続する方法)という Codelab を公開しています。
この Codelab のアプリケーションは、「main.go」というファイル 1 つで以下を行うことが可能です。
HTTP リクエストを許可する
自動 IAM データベース認証を使用するサービス アカウントで Cloud SQL for PostgreSQL データベースに安全に接続する
データベースに HTTP リクエストの時刻を保存する
直近 5 回の訪問時刻を返す


Go コネクタを使用することで、安全な接続を確保するためのすべてのベスト プラクティスをすぐに利用できます。
AlloyDB コネクタ
最後にもう 1 つ嬉しい情報を紹介します。Go は、AlloyDB 用の言語固有コネクタを利用できる初めての言語です。AlloyDB Go コネクタは Cloud SQL コネクタを基盤に構築されているため、AlloyDB を使うことになったとしても、ライブラリを置き換える最小限の変更で Cloud SQL 用に作成したコードを使用できます。
- Google、デベロッパー アドボケイト Luke Schlangen
- ソフトウェア エンジニア Jack Wotherspoon