Configurer le pool de connexions géré

Cette page explique comment configurer le pool de connexions géré pour vos instances Cloud SQL.

Avant de commencer

  • Vérifiez que votre instance répond à toutes les exigences pour utiliser le pool de connexions géré.
  • Si vous utilisez la CLI gcloud, utilisez la commande gcloud beta et vérifiez que votre version de la CLI gcloud est 515.0.0 ou ultérieure.
  • Vérifiez que votre instance utilise la nouvelle architecture réseau Cloud SQL. Si votre instance utilise toujours l'ancienne architecture réseau, passez à la nouvelle architecture réseau.

Vous pouvez activer le pool de connexions géré pour une instance au moment de sa création ou modifier une instance existante pour l'activer.

Activer le pool de connexions géré pour une nouvelle instance

Pour créer une instance avec le pool de connexions géré activé, consultez la section Créer des instances. Vous pouvez activer le pool de connexions géré pour une instance à l'aide de gcloud CLI ou de l'API Cloud SQL.

Activer le pool de connexions géré pour une instance existante

Vous pouvez activer le pool de connexions géré pour une instance existante à l'aide de la console Google Cloud, de la gcloud CLI ou de l'API Cloud SQL. Vous devez activer le pool de connexions géré avant de modifier ses options.

Console

  1. Dans Google Cloud Console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Recherchez l'instance pour laquelle vous souhaitez activer le pool de connexions géré. Pour ouvrir la page "Présentation" de l'instance, cliquez sur son nom.

  3. Cliquez sur Modifier.

  4. Sous Personnaliser votre instance, développez Connexions.

  5. Pour activer le pool de connexions géré, cochez la case Activer le pool de connexions géré.

  6. Cliquez sur Enregistrer.

gcloud

Utilisez la commande gcloud beta sql instances pour activer le pool de connexions géré.

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

Remplacez les éléments suivants :

  • INSTANCE_NAME: nom de l'instance Cloud SQL pour laquelle vous souhaitez activer le pool de connexions géré.

REST v1

Pour activer le pool de connexions géré pour une instance existante, utilisez la commande suivante et définissez connectionPoolingEnabled:

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet
  • INSTANCE_ID : ID de l'instance

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Pour activer le pool de connexions géré pour une instance existante, utilisez la commande suivante et définissez connectionPoolingEnabled:

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet
  • INSTANCE_ID : ID de l'instance

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Modifier le pool de connexions géré pour une instance

Une fois que vous avez activé le pool de connexions géré, vous pouvez le personnaliser à l'aide des options de configuration disponibles. Ces options de configuration sont appelées indicateurs de pool de connexions gérés. Les configurations ajoutées au pool de connexions géré sont appliquées à tous les pooleurs utilisés par l'instance. Pour en savoir plus sur les options de configuration disponibles, leurs valeurs par défaut et leurs plages, consultez les options de configuration disponibles.

Pour modifier les options de configuration du pool de connexions géré disponibles pour une instance, procédez comme suit:

Console

  1. Dans Google Cloud Console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Recherchez l'instance pour laquelle vous souhaitez activer le pool de connexions géré. Pour ouvrir la page "Présentation" de l'instance, cliquez sur son nom.

  3. Cliquez sur Modifier.

  4. Sous Personnaliser votre instance, développez Connexions.

  5. Sous Pool de connexions géré, développez Options de pool avancées.

    Modifiez les options de mise en pool disponibles que vous souhaitez mettre à jour.

  6. Cliquez sur Enregistrer.

gcloud

Utilisez la commande gcloud beta sql instances pour modifier les options de configuration.

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

Remplacez les éléments suivants :

  • INSTANCE_NAME: nom de l'instance Cloud SQL pour laquelle vous souhaitez modifier le pool de connexions géré.
  • CONFIGURATION_NAME: nom de l'option de configuration que vous souhaitez modifier. Pour obtenir la liste de toutes les options de configuration disponibles, consultez la section Options de configuration disponibles.
  • CONFIGURATION_VALUE: nouvelle valeur de l'option de configuration que vous avez sélectionnée.

REST v1

Pour modifier les configurations disponibles du pool de connexions géré, utilisez la commande suivante et définissez ConnectionPoolConfig:

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet
  • INSTANCE_ID : ID de l'instance

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Pour modifier les configurations disponibles du pool de connexions géré, utilisez la commande suivante et définissez ConnectionPoolConfig:

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet
  • INSTANCE_ID : ID de l'instance

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Désactiver le pool de connexions géré pour une instance

Vous pouvez désactiver le pool de connexions géré pour une instance existante à l'aide de la console Google Cloud, de gcloud CLI ou de l'API Cloud SQL.

Pour désactiver le pooling de connexions géré pour une instance, procédez comme suit:

Console

  1. Dans Google Cloud Console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Recherchez l'instance pour laquelle vous souhaitez désactiver le pool de connexions géré. Pour ouvrir la page "Présentation" de l'instance, cliquez sur son nom.

  3. Cliquez sur Modifier.

  4. Sous Personnaliser votre instance, développez Connexions.

  5. Pour désactiver le pool de connexions géré, décochez la case Activer le pool de connexions géré.

  6. Cliquez sur Enregistrer.

gcloud

Utilisez la commande gcloud beta sql instances pour désactiver le pool de connexions géré.

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

Remplacez les éléments suivants :

  • PROJECT_ID: nom de l'instance Cloud SQL pour laquelle vous souhaitez désactiver le pool de connexions géré.

REST v1

Pour désactiver le pool de connexions géré pour une instance, utilisez la commande suivante et définissez connectionPoolingEnabled:

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet
  • INSTANCE_ID : ID de l'instance

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Pour désactiver le pool de connexions géré pour une instance, utilisez la commande suivante et définissez connectionPoolingEnabled:

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet
  • INSTANCE_ID : ID de l'instance

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Afficher l'état du pooling de connexions géré pour une instance

Vous pouvez afficher l'état du pool de connexions géré pour une instance à l'aide de la console Google Cloud, de la gcloud CLI ou de l'API Cloud SQL.

Pour afficher l'état de la mise en pool de connexions gérée pour une instance Cloud SQL Enterprise Plus, procédez comme suit:

Console

  1. Dans Google Cloud Console, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Recherchez l'instance pour laquelle vous souhaitez désactiver le pool de connexions géré. Pour ouvrir la page "Présentation" de l'instance, cliquez sur son nom.

    La section Connexions indique si le pool de connexions géré est activé ou désactivé.

gcloud

  gcloud beta sql instances describe INSTANCE_NAME| 2 connectionPoolingEnabled

Remplacez les éléments suivants :

  • PROJECT_ID: nom de l'instance Cloud SQL pour laquelle vous souhaitez afficher l'état de la mise en pool de connexions gérée.

    Si le pool de connexions géré est activé, la réponse suivante s'affiche:

    connectionPoolingEnabled: true

REST v1

Pour afficher l'état du pool de connexions géré pour votre instance Cloud SQL, utilisez la commande suivante et recherchez ConnectPoolingEnabled:

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

Méthode HTTP et URL :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Pour afficher l'état du pool de connexions géré pour votre instance Cloud SQL, utilisez la commande suivante et recherchez ConnectPoolingEnabled:

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

Méthode HTTP et URL :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Surveiller le pool de connexions géré

Vous pouvez surveiller l'exécution du pool de connexions géré sur vos instances Cloud SQL à l'aide des métriques suivantes sur le pool de connexions géré Cloud SQL:

Nom de la métrique Description
num_pools Nombre total de pools de connexions par base de données.
client_connection Suit le nombre de connexions en fonction de l'état de la connexion client. Les états inclus dans cette métrique sont les suivants:
  • active: nombre de connexions actives par base de données, y compris les clients inactifs qui n'ont aucune requête en attente.
  • waiting: nombre de clients en attente d'une connexion au serveur par base de données.
server_connections Permet de suivre le nombre de connexions au serveur en fonction de l'état de la connexion au serveur. Les états inclus dans cette métrique sont les suivants:
  • active: nombre de connexions actives par base de données.
  • waiting: nombre de connexions de serveur inactives par base de données.
client_connections_avg_wait_time Temps moyen passé par tous les clients en attente d'un serveur.

Pour en savoir plus sur ces métriques, consultez la section Métriques Cloud SQL. Pour afficher ces métriques à l'aide de la console Google Cloud, consultez la section Afficher les métriques sur la page de présentation de l'instance Cloud SQL.

Étape suivante