Python を使用して簡単に Cloud SQL に接続する方法

Google Cloud Japan Team
※この投稿は米国時間 2022 年 8 月 24 日に、Google Cloud blog に投稿されたものの抄訳です。
Python を使用して Cloud SQL に接続するのは、必ずしも簡単とは限りません。状況によっては、Unix ドメイン ソケットへの接続、TCP 接続のための IP アドレスの許可リストの作成、ローカルでの Cloud SQL Auth Proxy の実行が必要になることがあります。SSL 証明書、ファイアウォール ルール、IP アドレスの管理が必要になる場合もあるため、こうした接続のセキュリティを確保することも問題となりますが、幸いなことに、これらを簡単に行う方法があります。
Python パッケージである Cloud SQL Python Connector は、サポートされている 3 つのすべてのデータベース エンジン(Postgres、MySQL、SQL Server)を対象として、Cloud SQL に簡単かつセキュアに、どこからでも(ローカルマシン、Cloud Run、App Engine、Cloud Functions など)接続できます。
Python Connector は、Cloud SQL コネクタ ライブラリの一つです(Java と Go のバージョンもあります)。
どういった利点がありますか?コネクタはその他の方法とどう違うのでしょうか?
Cloud SQL コネクタ ライブラリには、次のようなメリットがあります。
IAM 承認: コネクタは、IAM 権限を使用して、誰または何が Cloud SQL インスタンスに接続できるかを制御します。
強化されたセキュリティ: コネクタは、データベース プロトコルに関わりなく、クライアント コネクタとサーバーサイド プロキシとの間で、堅牢で更新された TLS 1.3 暗号化と身元確認を使用します。
利便性: コネクタは SSL 証明書の使用と配布のための要件を除外し、ファイアウォールまたは送信元 / 送信先 IP アドレスを管理します。
IAM データベース認証(オプション): コネクタは、Cloud SQL の自動 IAM データベース認証機能をサポートしています。
試用方法
デモ ノートブックを使って試してみる
Cloud SQL Python Connector の使用方法を示すインタラクティブな Colab ノートブックを作成しました。コードは 1 行も書く必要がありません。このノートブックでは、ユーザーが Cloud SQL で使用しているデータベース エンジンに基づいて、自動的にサポートされているデータベース ドライバが使用されます。


Python Connector ノートブック
まとめ
Cloud SQL Python Connector を使用することで、Python から安全かつ便利に Cloud SQL に接続できるようになります。自動 IAM データベース認証を活用して、IAM 認証されたユーザーまたはサービス アカウントとして、Cloud SQL にアクセスすることさえ可能です。
詳細については、以下のリソースをご活用ください。
- デベロッパー プログラム エンジニア、Jack Wotherspoon