Cette page explique comment activer, configurer et surveiller le regroupement de connexions géré dans vos instances Cloud SQL.
Le pooling de connexions géré vous permet de faire évoluer vos charges de travail en optimisant l'utilisation des ressources et la latence de connexion de vos instances à l'aide du pooling. Pour en savoir plus sur le pooling de connexions géré et son utilisation pour vos instances, consultez Présentation du pooling de connexions géré.
Avant de commencer
- Vérifiez que votre instance répond à toutes les exigences pour utiliser le regroupement de connexions géré.
- Si vous utilisez la gcloud CLI, vérifiez que votre version de la gcloud CLI est
515.0.0ou ultérieure.
Activer le pooling de connexions géré
Vous pouvez activer le pooling de connexions géré pour une instance au moment de sa création ou modifier une instance existante pour l'activer.
Activer le pooling de connexions géré pour une nouvelle instance
Pour créer une instance avec la mise en pool des connexions gérées activée, consultez Créer des instances. Vous ne pouvez activer le regroupement de connexions géré pour une nouvelle instance qu'à l'aide de la gcloud CLI ou de l'API Cloud SQL.
Activer le pooling de connexions géré pour une instance existante
Pour activer le pooling de connexions géré pour une instance existante, procédez comme suit :
Console
Dans la console Cloud de Confiance , accédez à la page Instances Cloud SQL.
Recherchez l'instance pour laquelle vous souhaitez activer le pooling de connexions géré. Pour ouvrir la page de présentation de l'instance, cliquez sur son nom.
Cliquez sur Modifier.
Sous Personnaliser votre instance, développez Connexions.
Pour activer le pooling 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 pooling 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
Après avoir activé le regroupement de connexions géré, 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 "options 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 de la mise en pool des connexions gérées pour une instance, procédez comme suit :
Console
Dans la console Cloud de Confiance , accédez à la page Instances Cloud SQL.
Recherchez l'instance pour laquelle vous souhaitez activer le pooling de connexions géré. Pour ouvrir la page de 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 de regroupement avancées.
Modifiez les options de pooling 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 les configurations avancées du 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 les configurations avancées du 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 consoleCloud de Confiance , de la gcloud CLI ou de l'API Cloud SQL.
Pour désactiver le regroupement de connexions géré pour une instance, procédez comme suit :
Console
Dans la console Cloud de Confiance , accédez à la page Instances Cloud SQL.
Recherchez l'instance pour laquelle vous souhaitez désactiver le pooling de connexions géré. Pour ouvrir la page de présentation de l'instance, cliquez sur son nom.
Cliquez sur Modifier.
Sous Personnaliser votre instance, développez Connexions.
Pour désactiver le pooling de connexions géré, décochez la case Activer le pool de connexions géré.
Cliquez sur Enregistrer.
gcloud
Utilisez 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 Cloud de Confiance , de la 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 Cloud de Confiance , accédez à la page Instances Cloud SQL.
Recherchez l'instance pour laquelle vous souhaitez afficher l'état du pooling de connexions géré. Pour ouvrir la page de présentation de l'instance, cliquez sur son nom.
La section Connexions indique si le regroupement 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 Cloud de Confiance 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 Cloud de Confiance 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 pooling de connexions géré sur vos instances Cloud SQL à l'aide des métriques de pooling de connexions géré Cloud SQL suivantes :
| Nom de la métrique | Description |
|---|---|
| threads | Effectue le suivi du 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 en file d'attente dans la file d'attente de travail. |
| 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 Cloud de Confiance , consultez Afficher les métriques sur la page de présentation de l'instance Cloud SQL.