このページでは、Cloud SQL インスタンスにマネージド接続プールを構成する方法について説明します。
始める前に
- インスタンスがマネージド接続プールの使用に必要なすべての要件を満たしていることを確認します。
- gcloud CLI を使用している場合は、
gcloud beta
コマンドを使用して、gcloud CLI のバージョンが515.0.0
以降であることを確認します。
インスタンスのマネージド接続プーリングは、インスタンスの作成時に有効にするか、既存のインスタンスを編集して有効にできます。
新しいインスタンスでマネージド接続プールを有効にする
マネージド接続プールを有効にしてインスタンスを作成するには、インスタンスを作成するをご覧ください。インスタンスでマネージド接続プールを有効にするには、gcloud CLI または Cloud SQL API を使用します。
既存のインスタンスでマネージド接続プールを有効にする
既存のインスタンスでマネージド接続プールを有効にするには、Google Cloud コンソール、gcloud CLI、または Cloud SQL API を使用します。マネージド接続プーリングのオプションを変更する前に、マネージド接続プーリングを有効にする必要があります。
コンソール
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
マネージド接続プールを有効にするインスタンスを見つけます。インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
[編集] をクリックします。
[インスタンスのカスタマイズ] で [接続] を開きます。
マネージド接続プールを有効にするには、[マネージド接続プールを有効にする] チェックボックスをオンにします。
[保存] をクリックします。
gcloud
gcloud beta sql instances
コマンドを使用して、マネージド接続プールを有効にします。
gcloud beta sql instances patch INSTANCE_NAME \
--enable-connection-pooling
次のように置き換えます。
INSTANCE_NAME
: マネージド接続プールを有効にする Cloud SQL インスタンスの名前。
REST v1
既存のインスタンスでマネージド接続プールを有効にするには、次のコマンドを使用して connectionPoolingEnabled
を設定します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: プロジェクト ID
- INSTANCE_ID: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
リクエストの本文(JSON):
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": true } } }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
REST v1beta4
既存のインスタンスでマネージド接続プールを有効にするには、次のコマンドを使用して connectionPoolingEnabled
を設定します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: プロジェクト ID
- INSTANCE_ID: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
リクエストの本文(JSON):
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": true } } }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
インスタンスのマネージド接続プールを変更する
マネージド接続プーリングを有効にしたら、使用可能な構成オプションを使用してマネージド接続プールをカスタマイズできます。これらの構成オプションは、マネージド接続プーリング プールフラグと呼ばれます。マネージド接続プーリングに追加された構成は、インスタンスで使用されるすべてのプーラに適用されます。使用可能な構成オプション、デフォルト値、範囲の詳細については、使用可能な構成オプションをご覧ください。
インスタンスで使用可能なマネージド接続プールの構成オプションを変更する手順は次のとおりです。
コンソール
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
マネージド接続プールを有効にするインスタンスを見つけます。インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
[編集] をクリックします。
[インスタンスのカスタマイズ] で [接続] を開きます。
[マネージド接続プール] で、[高度なプーリング オプション] を開きます。
更新する利用可能なプーリング オプションを変更します。
[保存] をクリックします。
gcloud
構成オプションを変更するには、gcloud beta sql instances
コマンドを使用します。
gcloud beta sql instances patch INSTANCE_NAME \
--connection-pool-flags=CONFIGURATION_NAME=CONFIGURATION_VALUE
次のように置き換えます。
INSTANCE_NAME
: マネージド接続プールを変更する Cloud SQL インスタンスの名前。CONFIGURATION_NAME
: 変更する構成オプションの名前。使用可能なすべての構成オプションのリストについては、使用可能な構成オプションをご覧ください。CONFIGURATION_VALUE
: 選択した構成オプションの新しい値。
REST v1
マネージド接続プールの使用可能な構成を変更するには、次のコマンドを使用して ConnectionPoolConfig
を設定します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: プロジェクト ID
- INSTANCE_ID: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
リクエストの本文(JSON):
{ "settings": { "connectionPoolConfig": { "flags": [ { "name": "CONFIGURATION_NAME", "value":"CONFIGURATION_VALUE" } ] } } }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
REST v1beta4
マネージド接続プールの使用可能な構成を変更するには、次のコマンドを使用して ConnectionPoolConfig
を設定します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: プロジェクト ID
- INSTANCE_ID: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
リクエストの本文(JSON):
{ "settings": { "connectionPoolConfig": { "flags": [ { "name": "CONFIGURATION_NAME", "value":"CONFIGURATION_VALUE" } ] } } }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
インスタンスでマネージド接続プーリングを無効にする
既存のインスタンスのマネージド接続プールを無効にするには、Google Cloud コンソール、gcloud CLI、または Cloud SQL API を使用します。
インスタンスのマネージド接続プールを無効にするには、次の操作を行います。
コンソール
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
マネージド接続プールを無効にするインスタンスを見つけます。インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
[編集] をクリックします。
[インスタンスのカスタマイズ] で [接続] を開きます。
マネージド接続プーリングを無効にするには、[マネージド接続プールを有効にする] チェックボックスをオフにします。
[保存] をクリックします。
gcloud
gcloud beta sql instances
コマンドを使用して、マネージド接続プールを無効にします。
gcloud beta sql instances patch INSTANCE_NAME \
--no-enable-connection-pooling
次のように置き換えます。
PROJECT_ID
: マネージド接続プールを無効にする Cloud SQL インスタンスの名前。
REST v1
インスタンスのマネージド接続プールを無効にするには、次のコマンドを使用して connectionPoolingEnabled
を設定します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: プロジェクト ID
- INSTANCE_ID: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
リクエストの本文(JSON):
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": false } } }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
REST v1beta4
インスタンスのマネージド接続プールを無効にするには、次のコマンドを使用して connectionPoolingEnabled
を設定します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: プロジェクト ID
- INSTANCE_ID: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
リクエストの本文(JSON):
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": false } } }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
インスタンスのマネージド接続プールのステータスを表示する
インスタンスのマネージド接続プールのステータスは、Google Cloud コンソール、gcloud CLI、または Cloud SQL API を使用して確認できます。
Cloud SQL Enterprise Plus エディション インスタンスのマネージド接続プールのステータスを確認するには、次の操作を行います。
コンソール
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
マネージド接続プールを無効にするインスタンスを見つけます。インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
[接続] セクションには、マネージド接続プーリングが有効か無効かが表示されます。
gcloud
gcloud beta sql instances describe INSTANCE_NAME| 2 connectionPoolingEnabled
次のように置き換えます。
PROJECT_ID
: マネージド接続プールのステータスを表示する Cloud SQL インスタンスの名前。マネージド接続プーリングが有効になっている場合は、次のレスポンスが返されます。
connectionPoolingEnabled: true
REST v1
Cloud SQL インスタンスのマネージド接続プールのステータスを表示するには、次のコマンドを使用して ConnectPoolingEnabled
を探します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: インスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号。
- INSTANCE_NAME: Cloud SQL インスタンスの名前。このインスタンスで Private Service Connect が有効になっている場合、VPC ネットワーク内の Private Service Connect エンドポイントからの接続が可能です。
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0", "settings": { "authorizedGaeApplications": [], "tier": "db-custom-2-7680", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "pscConfig": { "allowedConsumerProjects": [ "ALLOWED_PROJECTS" ], "pscEnabled": true }, "ipv4Enabled": false }, ... "createTime": "2023-06-14T18:48:34.975Z", "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE", "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID", "dnsName": "DNS_NAME" }
REST v1beta4
Cloud SQL インスタンスのマネージド接続プールのステータスを表示するには、次のコマンドを使用して ConnectPoolingEnabled
を探します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: インスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号。
- INSTANCE_NAME: Cloud SQL インスタンスの名前。このインスタンスで Private Service Connect が有効になっている場合、VPC ネットワーク内の Private Service Connect エンドポイントからの接続が可能です。
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0", "settings": { "authorizedGaeApplications": [], "tier": "db-custom-2-7680", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "pscConfig": { "allowedConsumerProjects": [ "ALLOWED_PROJECTS" ], "pscEnabled": true }, "ipv4Enabled": false }, ... "createTime": "2023-06-14T18:48:34.975Z", "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE", "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID", "dnsName": "DNS_NAME" }
マネージド接続プーリングをモニタリングする
Cloud SQL インスタンスでマネージド接続プーリングがどのように実行されているかをモニタリングするには、次の Cloud SQL マネージド接続プーリング指標を使用します。
指標名 | 説明 |
---|---|
スレッド | 接続プール内のスレッド数をステータス別に追跡します。この指標に含まれるステータスは次のとおりです。
|
pending_connection | プーリング キュー内のアクティブな接続の数。 |
avg_wait_time | 接続リクエストがサーバーを待機している平均時間。 |
これらの指標の詳細については、Cloud SQL の指標をご覧ください。Google Cloud コンソールを使用してこれらの指標を表示するには、Cloud SQL インスタンスの概要ページで指標を表示するをご覧ください。