コンテンツに移動
データベース

Go アプリケーションを Cloud SQL に接続する方法

2023年4月3日
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 種類のコネクタがあります。

  1. 言語固有のコネクタ - JavaPythonGo で利用できます。

  2. Cloud SQL Auth Proxy - 言語固有のコネクタを利用できない場合に適しています。

これらのコネクタには、従来のデータベース接続を大きく上回るメリットがあります。コネクタを使用するメリットのいくつかは、以前のブログ投稿の Cloud SQL コネクタについてで説明しています。コードレベルの制御が可能な Cloud SQL Go コネクタは、Go アプリケーションをデータベースに安全に接続する最も便利な方法です。

https://storage.googleapis.com/gweb-cloudblog-publish/images/cloud-sql-connector-architecture.max-1600x1600.jpg

試してみる

GitHub の README には、PostgreSQLMySQLSQL 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 回の訪問時刻を返す

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_lZ0O02b.max-1200x1200.jpg

Go コネクタを使用することで、安全な接続を確保するためのすべてのベスト プラクティスをすぐに利用できます。

AlloyDB コネクタ

最後にもう 1 つ嬉しい情報を紹介します。Go は、AlloyDB 用の言語固有コネクタを利用できる初めての言語です。AlloyDB Go コネクタは Cloud SQL コネクタを基盤に構築されているため、AlloyDB を使うことになったとしても、ライブラリを置き換える最小限の変更で Cloud SQL 用に作成したコードを使用できます。


- Google、デベロッパー アドボケイト Luke Schlangen
- ソフトウェア エンジニア Jack Wotherspoon

投稿先