Cloud SQL Connector for Java は、Cloud SQL インスタンスへの接続時に IAM ベースの認証と暗号化を提供するライブラリです。 Cloud SQL インスタンスへのネットワーク パスが存在しない場合、そのインスタンスへのネットワーク パスを提供することはできません。 Cloud SQL インスタンスへの接続の詳細については、「接続の概要」ページをご覧ください。
データベース エンジンとドライバーに固有の使用方法については、以下のページを参照してください。
JDBC を使用した Cloud SQL への接続
R2DBC を使用した Cloud SQL への接続
このライブラリがアプリケーションのコンテキストで使用される例については、ここにあるサンプル アプリケーションを確認してください。
このライブラリは、資格情報を解決するためにアプリケーションのデフォルト資格情報 (ADC) 戦略を使用します。 ADC の設定方法については、次の手順を参照してください (Google Cloud アプリケーションとローカル開発、IAM ユーザーとサービス アカウントの認証情報)。
---
Socket Factory の依存関係をバンドルした JDBC ドライバーを含むファット JAR を構築するには、プロジェクト pom.xml が含まれる場所から次の Maven コマンドを発行できます。
mvn -P jar-with-dependencies clean package -DskipTests
これにより、各モジュール ディレクトリ内にターゲットサブフォルダーが作成されます。これらのターゲット ディレクトリ内に JDBC ドライバー ファイルがあります。
例:
mysql-socket-factory-connector-j-8–1.8.0-jar-with-dependencies.jar postgres-socket-factory-1.8.0-jar-with-dependencies.jar
Java コネクタは、バックグラウンドでの証明書の更新に関する問題の診断に役立つ、オプションのデバッグ ログをサポートしています。これを有効にするには、ファイル/src/main/resources/application.yml
に以下を追加します。
logging.level.root=DEBUG
Cloud SQL プロキシは、ポート 3307 を使用して Cloud SQL インスタンスへの接続を確立します。ファイアウォールで保護されているアプリケーションは、TCP ポート 3307 での送信接続を許可するように構成する必要がある場合があります。ファイアウォールによって接続がブロックされると、通常、接続失敗を示すエラーが発生します (例: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
)。
IntelliJ を Cloud SQL インスタンスに接続するには、ドライバ設定ページの「追加ファイル」セクションで、このライブラリを依存関係を持つ jar として追加する必要があります。事前構築された Fat jar は提供されなくなりました (v1.14.0 以降)。
Java コネクタの使用時に発生する一般的な問題を解決するためのトラブルシューティングのヒントをいくつか紹介します。
非互換性を避けるために、最新バージョンの Cloud SQL Connector とデータベース ドライバを使用していることを確認してください。一部の古いバージョンのドライバーはサポートされていません。
Java コネクタは接続の認証を提供しますが、接続への新しいパスは提供しません。たとえば、プライベート IP アドレスを使用して Cloud SQL インスタンスに接続するには、アプリケーションがすでに VPC アクセスを持っている必要があります。
このプロジェクトはセマンティック バージョニングを使用し、メジャー バージョンのサポートに関して次のライフサイクルを使用します。
アクティブ- アクティブ バージョンには、すべての新機能とセキュリティ修正が含まれます (これ以外の場合は重大な変更が導入されません)。新しいメジャー バージョンは、少なくとも 1 年間は「アクティブ」であることが保証されます。非推奨- 非推奨バージョンには引き続きセキュリティと重大なバグ修正が適用されますが、新機能は適用されません。非推奨バージョンは 1 年間公的にサポートされます。サポートされていない- 1 年以上非推奨になっているメジャー バージョンは、公的にサポートされていないとみなされます。
当社では、少なくとも、公的にサポートされている LTS JDK バージョンをテストしてサポートします。サポートされているバージョンの変更は軽微な変更とみなされ、リリース ノートに記載されます。
このプロジェクトは、毎月のリリース頻度を最小限にすることを目指しています。新しい機能や修正が追加されていない場合は、最新の依存関係を含む新しい PATCH バージョンがリリースされます。