Cette page explique comment configurer le pooling de connexions géré pour vos instances Cloud SQL.
Avant de commencer
- Assurez-vous que votre instance répond à toutes les exigences pour utiliser le pooling de connexions géré.
- Si vous utilisez gcloud CLI, exécutez la commande
gcloud beta
et vérifiez que votre version de gcloud CLI est515.0.0
ou ultérieure.
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 pooling de connexions géré activé, consultez Créer des instances. Vous pouvez activer le pooling 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 consoleGoogle Cloud , de gcloud CLI ou de l'API Cloud SQL. Vous devez activer le regroupement de connexions géré avant de modifier les options du regroupement de connexions géré.
Console
Dans la console Google 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 beta sql instances
pour activer le regroupement 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 pooling 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 pooling 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" }
Terraform
Pour activer le pooling de connexions géré pour une instance existante, utilisez la ressource Terraform suivante :
Modifier le regroupement de connexions géré pour une instance
Une fois le regroupement de connexions géré activé, vous pouvez le personnaliser à l'aide des options de configuration disponibles. Ces options de configuration sont appelées indicateurs de pool de pool de connexions géré. Les configurations ajoutées au regroupement de connexions géré sont appliquées à tous les poolers utilisés par l'instance. Pour en savoir plus sur les options de configuration disponibles, leurs valeurs par défaut et leurs plages, consultez 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
Dans la console Google 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 disponibles que vous souhaitez mettre à jour.
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 pooling 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 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 pooling 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 pooling 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" }
Terraform
Pour modifier les configurations disponibles 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 consoleGoogle 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 Google 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 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" }
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 Google 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 Google 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
gcloud beta sql instances describe INSTANCE_NAME
--format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"
Remplacez les éléments suivants :
PROJECT_ID
: nom de l'instance Cloud SQL pour laquelle vous souhaitez afficher l'état du pool de connexions géré.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 ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID ou numéro de projet du projet Google 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 ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID ou numéro de projet du projet Google 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 |
---|---|
fils de discussion | 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 Google 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é