Cette page explique comment activer, configurer et surveiller le pooling de connexions géré dans vos instances Cloud SQL.
Le regroupement de connexions géré vous permet de faire évoluer vos charges de travail en optimisant l'utilisation des ressources et la latence de connexion pour vos instances à l'aide du regroupement. Pour en savoir plus sur le pooling de connexions géré et sur la façon de l'utiliser pour vos instances, consultez Présentation du pooling de connexions géré.
Avant de commencer
- Assurez-vous que votre instance répond à toutes les exigences pour utiliser le pooling de connexions géré.
- Si vous utilisez la gcloud CLI, vérifiez que votre version de la gcloud CLI est
515.0.0
ou ultérieure.
Activer le regroupement de connexions géré
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 Créer des instances. Vous ne pouvez activer le pooling de connexions géré pour une nouvelle instance qu'à l'aide de la gcloud CLI ou de l'API Cloud SQL.
Activer le pool de connexions géré pour une instance existante
Pour activer le pool de connexions géré pour une instance existante :
Console
Dans la console Trusted Cloud , accédez à la page Instances Cloud SQL.
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.
Cliquez sur Modifier.
Sous Personnaliser votre instance, développez Connexions.
Pour activer le pool de connexions géré, cochez la case Activer le pool de connexions géré.
Cliquez sur Enregistrer.
gcloud
Utilisez la commande gcloud sql instances
pour activer le regroupement de connexions géré.
gcloud sql instances patch INSTANCE_NAME \
--enable-connection-pooling
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance Cloud SQL.
REST v1
Exécutez la commande suivante et définissez connectionPoolingEnabled
:
Avant d'utiliser les données de requête, 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
Exécutez la commande suivante et définissez connectionPoolingEnabled
:
Avant d'utiliser les données de requête, 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" }
Terraform
Utilisez la ressource Terraform suivante :
Modifier le regroupement de connexions géré pour une instance
Une fois le pool de connexions géré activé, vous pouvez le personnaliser pour répondre aux besoins de votre instance à l'aide d'options de configuration avancées. Ces options de configuration sont appelées indicateurs de pool de pool de connexions géré. Pour en savoir plus sur les options de configuration avancées, leurs valeurs par défaut et leurs plages, consultez Options de configuration avancées.
Pour modifier les options de configuration avancées du pooling de connexions géré pour une instance, procédez comme suit :
Console
Dans la console Trusted Cloud , accédez à la page Instances Cloud SQL.
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.
Cliquez sur Modifier.
Sous Personnaliser votre instance, développez Connexions.
Sous Pool de connexions géré, développez Options avancées de regroupement.
Modifiez les options de mise en commun avancées que vous souhaitez mettre à jour.
Cliquez sur Enregistrer.
gcloud
Utilisez la commande gcloud sql instances
pour modifier les options de configuration.
gcloud 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.CONFIGURATION_NAME
: nom de l'option de configuration. Pour obtenir la liste de toutes les options de configuration avancées, consultez Options de configuration avancées.CONFIGURATION_VALUE
: nouvelle valeur de l'option de configuration sélectionnée.
REST v1
Pour modifier le pooling de connexions géré, utilisez la commande suivante et définissez ConnectionPoolConfig
:
Avant d'utiliser les données de requête, 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 le pooling de connexions géré, utilisez la commande suivante et définissez ConnectionPoolConfig
:
Avant d'utiliser les données de requête, 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" }
Terraform
Pour modifier les configurations avancées du pooling de connexions géré, utilisez la ressource Terraform suivante :
Désactiver le regroupement de connexions géré pour une instance
Vous pouvez désactiver le pooling de connexions géré pour une instance existante à l'aide de la consoleTrusted 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
Dans la console Trusted Cloud , accédez à la page Instances Cloud SQL.
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.
Cliquez sur Modifier.
Sous Personnaliser votre instance, développez Connexions.
Pour désactiver le regroupement de connexions géré, décochez la case Activer le regroupement de connexions géré.
Cliquez sur Enregistrer.
gcloud
Exécutez la commande gcloud sql instances
pour désactiver le pool de connexions géré.
gcloud sql instances patch INSTANCE_NAME \
--no-enable-connection-pooling
Remplacez les éléments suivants :
PROJECT_ID
: nom de l'instance Cloud SQL.
REST v1
Pour désactiver le pooling de connexions géré pour une instance, utilisez la commande suivante et définissez connectionPoolingEnabled
:
Avant d'utiliser les données de requête, 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 pooling de connexions géré pour une instance, utilisez la commande suivante et définissez connectionPoolingEnabled
:
Avant d'utiliser les données de requête, 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" }
Terraform
Pour désactiver le pooling de connexions géré pour une instance, utilisez la ressource Terraform suivante :
Afficher l'état du regroupement de connexions géré pour une instance
Vous pouvez afficher l'état du pooling de connexions géré pour une instance à l'aide de la console Trusted Cloud , de gcloud CLI ou de l'API Cloud SQL.
Pour afficher l'état du pooling de connexions géré pour une instance Cloud SQL Enterprise Plus, procédez comme suit :
Console
Dans la console Trusted Cloud , accédez à la page Instances Cloud SQL.
Recherchez l'instance pour laquelle vous souhaitez afficher l'état du 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
Utilisez la commande gcloud sql instances describe pour afficher l'état du pooling de connexions géré pour une instance :
gcloud sql instances describe INSTANCE_NAME
--format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"
Remplacez les éléments suivants :
PROJECT_ID
: nom de l'instance Cloud SQL.Si le regroupement de connexions géré est activé, la réponse suivante est renvoyée :
connectionPoolingEnabled: true
REST v1
Pour afficher l'état du pooling de connexions géré pour votre instance Cloud SQL, utilisez la commande suivante et recherchez connectionPoolingEnabled
:
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID ou numéro de projet du projet Trusted Cloud contenant l'instance.
- INSTANCE_NAME : nom de l'instance Cloud SQL. Si Private Service Connect est activé pour cette instance, les points de terminaison Private Service Connect des réseaux VPC peuvent s'y connecter.
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": "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
Pour afficher l'état du pooling de connexions géré pour votre instance Cloud SQL, utilisez la commande suivante et recherchez connectionPoolingEnabled
:
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID ou numéro de projet du projet Trusted Cloud contenant l'instance.
- INSTANCE_NAME : nom de l'instance Cloud SQL. Si Private Service Connect est activé pour cette instance, les points de terminaison Private Service Connect des réseaux VPC peuvent s'y connecter.
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": "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" }
Surveiller le regroupement 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 :
Nom de la métrique | Description |
---|---|
threads | Suit le nombre de threads dans le pool de connexions en fonction de leur état. Les états inclus dans cette métrique sont les suivants :
|
pending_connection | Nombre de connexions actuellement dans la file d'attente du regroupement. |
avg_wait_time | Temps moyen passé par la requête de connexion en attente d'un serveur. |
Pour en savoir plus sur ces métriques, consultez Métriques Cloud SQL. Pour afficher ces métriques à l'aide de la console Trusted Cloud , consultez Afficher les métriques sur la page de présentation de l'instance Cloud SQL.
Étapes suivantes
- Afficher les métriques sur la page de présentation de l'instance Cloud SQL
- Présentation du regroupement de connexions géré