マネージド接続プーリングの概要

このページでは、マネージド接続プールの概要と、Cloud SQL インスタンスでのマネージド接続プールの使用方法について説明します。

マネージド接続プーリングを使用すると、プーリングを使用して Cloud SQL for PostgreSQL インスタンスのリソース使用率と接続レイテンシを最適化し、ワークロードをスケーリングできます。マネージド接続プーリングは、可能であれば、受信リクエストにサーバー接続を動的に割り当てます。これにより、急激な接続の急増を吸収し、既存のデータベース接続を再利用することで、特にスケーリングされた接続でパフォーマンスが大幅に向上します。マネージド接続プーリングは、特定のデータベースに接続するのではなく、プールラのクラスタに接続します。これにより、接続時間が短縮され、ワークロードのスケーラビリティが向上します。使用されるプールラーの数は、インスタンスの vCPU コア数に基づいています。

マネージド接続プールは任意のトランザクション ワークロードに使用できますが、マネージド接続プールは、存続期間の短い接続を含むアプリケーションや、接続の急増が発生するアプリケーションで、スループットとレイテンシのメリットを最大限に活用できます。

長時間の接続では、マネージド接続プーリングを使用した接続のパフォーマンスは、ダイレクト接続を使用した場合よりもわずかに低くなる場合があります。この場合、マネージド接続プーリングは、接続数が非常に多い場合に接続スケーリングを提供します。ただし、通常は長時間の接続を確立するアプリケーションの場合は、インスタンスへの直接接続を使用できます。

マネージド接続プールを有効にする方法については、マネージド接続プールを構成するをご覧ください。

要件

マネージド接続プーリングを使用するには、インスタンスが次の要件を満たしている必要があります。

  • インスタンスは Cloud SQL Enterprise Plus エディションのインスタンスである必要があります。
  • 直接接続または Cloud SQL Auth Proxy のみを使用してインスタンスに接続する必要があります。
  • 有効なユーザー名とパスワードを使用してインスタンスに接続する必要があります。マネージド接続プールを使用する場合、IAM ユーザーと IAM グループ ユーザーはサポートされません。
  • インスタンスは、プライベート サービス アクセス用に設定されているか、パブリック IP を使用している必要があります。または、Private Service Connect が有効になっている新しいインスタンスである必要があります。
  • インスタンスで新しい Cloud SQL ネットワーク アーキテクチャを使用している必要があります。
  • マネージド接続プーリングでは、最小メンテナンス バージョン番号が POSTGRES_$version.R20250302.00_04 が必要です。詳細については、セルフサービス メンテナンスをご覧ください。

使用可能な構成オプション

マネージド接続プーリングには、pool_mode パラメータを使用して設定できる次のプーリング オプションがあります。

  • transaction(デフォルト): トランザクション レベルで接続をプールします。
  • session: セッションレベルで接続をプールします。

次の構成パラメータを使用して、マネージド接続プールをカスタマイズすることもできます。

  • max_pool_size: 接続プールの最大サイズ。デフォルト値は 50 接続です。
  • min_pool_size: 接続プールのしきい値サイズ。サーバー接続数が min_pool_size 未満の場合は、プールにサーバー接続を追加します。デフォルト値は 0 接続です。
  • max_client_connections: インスタンスで許可される最大接続数。デフォルト値は 5,000 接続です。
  • client_connection_idle_timeout: クライアント接続がタイムアウトするまでのアイドル状態の時間。この値の範囲は 0 ~ 2,147,483 秒で、デフォルト値は 0 秒です。
  • server_connection_idle_timeout: タイムアウトする前にサーバー接続がアイドル状態になる時間。この値の範囲は 0 ~ 2,147,483 秒で、デフォルト値は 600 秒です。
  • query_wait_timeout: クエリがタイムアウトするまでの待機時間。この値の範囲は 0 ~ 2,147,483 秒で、デフォルト値は 120 秒です。
  • max_prepared_statements: トランザクション プーリング モードでサポートされるプロトコル レベルの名前付き準備済みステートメント コマンドの最大数。デフォルト値は 0 です。
  • ignore_startup_parameters: 無視するパラメータ。デフォルトでは、マネージド接続プールの起動パケットで追跡されません。
  • server_lifetime: マネージド接続プーリングがサーバー接続を閉じるまでの、サーバー接続が使用されていない最大時間。デフォルト値は 3,600 秒です。

制限事項

Cloud SQL Enterprise Plus エディション インスタンスでマネージド接続プーリングを使用する場合は、次の制限事項を考慮してください。

  • 既存のインスタンスでマネージド接続プールを有効にすると、データベースが再起動します。
  • Cloud SQL API を使用してマネージド接続プールを有効、無効、または構成する場合、instance.update API に他のインスタンス構成の更新を含めることはできません。
  • マネージド接続プールは、Cloud SQL Auth Proxy バージョン 2.15.2 以降でのみ使用できます。
  • Cloud SQL Go 言語コネクタを使用している場合は、Go バージョンを 1.24 以上にすることをおすすめします。Go バージョン 1.23 以前を使用している場合、マネージド接続プーリングを使用するとパフォーマンスに制限が生じる可能性があります。
  • transaction プーリング モードでマネージド接続プーリングを使用している場合、次の SQL 機能はサポートされていません。

    • SET/RESET
    • LISTEN
    • WITH HOLD CURSOR
    • PREPARE/DEALLOCATE
    • PRESERVE/DELETE ROW 一時テーブル
    • LOAD
    • セッション レベルのアドバイザリ ロック
  • Cloud SQL for PostgreSQL バージョン 17 を使用している場合、sslnegotiation=direct オプションはサポートされていません。

次のステップ