Configurare il pool di connessioni gestito

Questa pagina descrive come configurare il pool di connessioni gestito per le istanze Cloud SQL.

Prima di iniziare

  • Verifica che la tua istanza soddisfi tutti i requisiti per utilizzare il pool di connessioni gestite.
  • Se utilizzi gcloud CLI, utilizza il comando gcloud beta e verifica che la versione di gcloud CLI sia 515.0.0 o successiva.
  • Verifica che la tua istanza utilizzi la nuova architettura di rete Cloud SQL. Se la tua istanza utilizza ancora la vecchia architettura di rete, esegui l'upgrade alla nuova architettura di rete.

Puoi attivare il pool di connessioni gestito per un'istanza al momento della creazione oppure modificare un'istanza esistente per attivarlo.

Abilitare il pool di connessioni gestito per una nuova istanza

Per creare un'istanza con il pool di connessioni gestito abilitato, consulta Crea istanze. Puoi abilitare il pool di connessioni gestito per un'istanza utilizzando gcloud CLI o l'API Cloud SQL.

Abilitare il pool di connessioni gestito per un'istanza esistente

Puoi attivare il pool di connessioni gestito per un'istanza esistente utilizzando la consoleGoogle Cloud , gcloud CLI o l'API Cloud SQL. Devi attivare il pool di connessioni gestito prima di modificare le opzioni.

Console

  1. Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Trova l'istanza per cui vuoi abilitare il pool di connessioni gestito. Per aprire la pagina Panoramica dell'istanza, fai clic sul nome dell'istanza.

  3. Fai clic su Modifica.

  4. In Personalizza la tua istanza, espandi Connessioni.

  5. Per attivare il pool di connessioni gestito, seleziona la casella Abilita pool di connessioni gestito.

  6. Fai clic su Salva.

gcloud

Utilizza il comando gcloud beta sql instances per abilitare il pool di connessioni gestito.

  gcloud beta sql instances patch INSTANCE_NAME \
  --enable-connection-pooling

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza Cloud SQL per cui vuoi attivare il pool di connessioni gestito.

REST v1

Per attivare il pool di connessioni gestito per un'istanza esistente, utilizza il seguente comando e imposta connectionPoolingEnabled:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto
  • INSTANCE_ID: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON della richiesta:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": true
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "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

Per attivare il pool di connessioni gestito per un'istanza esistente, utilizza il seguente comando e imposta connectionPoolingEnabled:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto
  • INSTANCE_ID: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON della richiesta:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": true
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "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"
}

Modifica il pool di connessioni gestito per un'istanza

Dopo aver abilitato il pool di connessioni gestito, puoi personalizzarlo utilizzando le opzioni di configurazione disponibili. Queste opzioni di configurazione sono chiamate flag del pool di Managed Connection Pooling. Le configurazioni aggiunte al pool di connessioni gestito vengono applicate a tutti i pooler utilizzati dall'istanza. Per ulteriori informazioni sulle opzioni di configurazione disponibili, sui relativi valori predefiniti e intervalli, consulta Opzioni di configurazione disponibili.

Per modificare le opzioni di configurazione del pool di connessioni gestito disponibili per un'istanza:

Console

  1. Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Trova l'istanza per cui vuoi abilitare il pool di connessioni gestito. Per aprire la pagina Panoramica dell'istanza, fai clic sul nome dell'istanza.

  3. Fai clic su Modifica.

  4. In Personalizza la tua istanza, espandi Connessioni.

  5. Nella sezione Pool di connessioni gestito, espandi Opzioni avanzate di pooling.

    Modifica le opzioni di raggruppamento disponibili che vuoi aggiornare.

  6. Fai clic su Salva.

gcloud

Utilizza il comando gcloud beta sql instances per modificare le opzioni di configurazione.

  gcloud beta sql instances patch INSTANCE_NAME \
  --connection-pool-flags=CONFIGURATION_NAME=CONFIGURATION_VALUE

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza Cloud SQL per cui vuoi modificare il pool di connessioni gestito.
  • CONFIGURATION_NAME: il nome dell'opzione di configurazione che vuoi modificare. Per un elenco di tutte le opzioni di configurazione disponibili, consulta Opzioni di configurazione disponibili.
  • CONFIGURATION_VALUE: il nuovo valore per l'opzione di configurazione che hai selezionato.

REST v1

Per modificare le configurazioni disponibili di Managed Connection Pooling, utilizza il seguente comando e imposta ConnectionPoolConfig:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto
  • INSTANCE_ID: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON della richiesta:

{
  "settings": {
    "connectionPoolConfig": {
      "flags":
      [
        {
          "name": "CONFIGURATION_NAME",
          "value":"CONFIGURATION_VALUE"
        }
      ]
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "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

Per modificare le configurazioni disponibili di Managed Connection Pooling, utilizza il seguente comando e imposta ConnectionPoolConfig:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto
  • INSTANCE_ID: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON della richiesta:

{
  "settings": {
    "connectionPoolConfig": {
      "flags":
      [
        {
          "name": "CONFIGURATION_NAME",
          "value":"CONFIGURATION_VALUE"
        }
      ]
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "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"
}

Disabilitare il pool di connessioni gestito per un'istanza

Puoi disattivare il pool di connessioni gestito per un'istanza esistente utilizzando la consoleGoogle Cloud , gcloud CLI o l'API Cloud SQL.

Per disabilitare il pool di connessioni gestito per un'istanza:

Console

  1. Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Trova l'istanza per cui vuoi disattivare il pool di connessioni gestito. Per aprire la pagina Panoramica dell'istanza, fai clic sul nome dell'istanza.

  3. Fai clic su Modifica.

  4. In Personalizza la tua istanza, espandi Connessioni.

  5. Per disattivare il pool di connessioni gestito, deseleziona la casella Abilita pool di connessioni gestito.

  6. Fai clic su Salva.

gcloud

Utilizza il comando gcloud beta sql instances per disabilitare il pool di connessioni gestito.

  gcloud beta sql instances patch INSTANCE_NAME \
  --no-enable-connection-pooling

Sostituisci quanto segue:

  • PROJECT_ID: il nome dell'istanza Cloud SQL per cui vuoi disattivare il pool di connessioni gestito.

REST v1

Per disattivare il pool di connessioni gestito per un'istanza, utilizza il seguente comando e imposta connectionPoolingEnabled:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto
  • INSTANCE_ID: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON della richiesta:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": false
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "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

Per disattivare il pool di connessioni gestito per un'istanza, utilizza il seguente comando e imposta connectionPoolingEnabled:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto
  • INSTANCE_ID: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON della richiesta:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": false
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "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"
}

Visualizzare lo stato del pool di connessioni gestito per un'istanza

Puoi visualizzare lo stato del pool di connessioni gestito per un'istanza utilizzando la console Google Cloud , gcloud CLI o l'API Cloud SQL.

Per visualizzare lo stato del pool di connessioni gestito per un'istanza Cloud SQL Enterprise Plus, procedi nel seguente modo:

Console

  1. Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Trova l'istanza per cui vuoi visualizzare lo stato del pool di connessioni gestito. Per aprire la pagina Panoramica dell'istanza, fai clic sul nome dell'istanza.

    La sezione Connessioni mostra se il pool di connessioni gestito è abilitato o disabilitato.

gcloud

  gcloud beta sql instances describe INSTANCE_NAME
  --format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"

Sostituisci quanto segue:

  • PROJECT_ID: il nome dell'istanza Cloud SQL per cui vuoi visualizzare lo stato del pool di connessioni gestito.

    Se il pool di connessioni gestito è abilitato, viene restituita la seguente risposta:

    connectionPoolingEnabled: true

REST v1

Per visualizzare lo stato del pool di connessioni gestito per l'istanza Cloud SQL, utilizza il seguente comando e cerca connectionPoolingEnabled:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "POSTGRES_13",
  "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

Per visualizzare lo stato del pool di connessioni gestito per l'istanza Cloud SQL, utilizza il seguente comando e cerca connectionPoolingEnabled:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "POSTGRES_13",
  "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"
}

Monitorare il pool di connessioni gestito

Puoi monitorare il funzionamento del pooling di connessioni gestito nelle tue istanze Cloud SQL utilizzando le seguenti metriche del pooling di connessioni gestito di Cloud SQL:

Nome metrica Descrizione
num_pools Il numero totale di pool di connessioni per database.
client_connection Monitora il conteggio delle connessioni in base allo stato della connessione client. Gli stati inclusi in questa metrica sono:
  • active: il numero di connessioni attive per database, inclusi i client inattivi che non hanno richieste di query in attesa.
  • waiting: il numero di client in attesa di una connessione server per database.
server_connections Monitora il conteggio delle connessioni server in base allo stato della connessione server. Gli stati inclusi in questa metrica sono:
  • active: il numero di connessioni attive per database.
  • waiting: il numero di connessioni server inattive per database.
client_connections_avg_wait_time Il tempo medio trascorso da tutti i client in stato di attesa per un server.

Per ulteriori informazioni su queste metriche, consulta Metriche Cloud SQL. Per visualizzare queste metriche utilizzando la console Google Cloud , consulta Visualizzare le metriche nella pagina di panoramica dell'istanza Cloud SQL.

Passaggi successivi