Nesta página, descrevemos como configurar o pool de conexões gerenciadas para suas instâncias do Cloud SQL.
Antes de começar
- Confirme se a instância atende a todos os requisitos para usar o pool de conexões gerenciadas.
- Se você estiver usando a gcloud CLI, use o comando
gcloud beta
e confirme se a versão da gcloud CLI é515.0.0
ou mais recente. - Confirme se a instância está usando a nova arquitetura de rede do Cloud SQL. Se a instância ainda estiver usando a arquitetura de rede antiga, faça upgrade para a nova arquitetura de rede.
É possível ativar o pool de conexões gerenciado para uma instância no momento da criação ou editar uma instância atual para ativá-lo.
Ativar o pool de conexões gerenciado para uma nova instância
Para criar uma instância com o pool de conexões gerenciado ativado, consulte Criar instâncias. É possível ativar o pool de conexões gerenciadas para uma instância usando a gcloud CLI ou a API Cloud SQL.
Ativar o pool de conexões gerenciado para uma instância atual
É possível ativar o pool de conexões gerenciadas para uma instância atual usando o console doGoogle Cloud , a gcloud CLI ou a API Cloud SQL. É necessário ativar o pooling de conexões gerenciado antes de modificar as opções dele.
Console
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
Encontre a instância em que você quer ativar o pool de conexões gerenciado. Para abrir a página "Visão geral" da instância, clique no nome dela.
Clique em Editar.
Em Personalizar sua instância, expanda Conexões.
Para ativar o pool de conexões gerenciado, marque a caixa Ativar pool de conexões gerenciado.
Clique em Salvar.
gcloud
Use o comando gcloud beta sql instances
para ativar o agrupamento de conexões gerenciado.
gcloud beta sql instances patch INSTANCE_NAME \
--enable-connection-pooling
Substitua:
INSTANCE_NAME
: o nome da instância do Cloud SQL em que você quer ativar o pool de conexões gerenciadas.
REST v1
Para ativar o pool de conexões gerenciadas em uma instância atual, use o seguinte comando e defina connectionPoolingEnabled
:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON da solicitação:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": true } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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
Para ativar o pool de conexões gerenciadas em uma instância atual, use o seguinte comando e defina connectionPoolingEnabled
:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON da solicitação:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": true } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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
Para ativar o pool de conexões gerenciado em uma instância atual, use o seguinte recurso do Terraform:
Modificar o pooling de conexões gerenciado para uma instância
Depois de ativar o pooling de conexões gerenciado, é possível personalizá-lo usando as opções de configuração disponíveis. Essas opções de configuração são chamadas de flags de pool de pool de conexões gerenciado. As configurações adicionadas ao pooling de conexões gerenciado são aplicadas a todos os poolers usados pela instância. Para mais informações sobre as opções de configuração disponíveis, os valores padrão e os intervalos, consulte opções de configuração disponíveis.
Para modificar as opções de configuração do pool de conexões gerenciado disponíveis para uma instância, faça o seguinte:
Console
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
Encontre a instância em que você quer ativar o pool de conexões gerenciado. Para abrir a página "Visão geral" da instância, clique no nome dela.
Clique em Editar.
Em Personalizar sua instância, expanda Conexões.
Em Pool de conexões gerenciado, expanda Opções avançadas de pooling.
Modifique as opções de agrupamento disponíveis que você quer atualizar.
Clique em Salvar.
gcloud
Use o comando gcloud beta sql instances
para modificar as opções de configuração.
gcloud beta sql instances patch INSTANCE_NAME \
--connection-pool-flags=CONFIGURATION_NAME=CONFIGURATION_VALUE
Substitua:
INSTANCE_NAME
: o nome da instância do Cloud SQL em que você quer modificar o pool de conexões gerenciadas.CONFIGURATION_NAME
: o nome da opção de configuração que você quer modificar. Para uma lista de todas as opções de configuração disponíveis, consulte opções de configuração disponíveis.CONFIGURATION_VALUE
: o novo valor da opção de configuração selecionada.
REST v1
Para modificar as configurações disponíveis do Managed Connection Pooling, use o comando a seguir e defina ConnectionPoolConfig
:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON da solicitação:
{ "settings": { "connectionPoolConfig": { "flags": [ { "name": "CONFIGURATION_NAME", "value":"CONFIGURATION_VALUE" } ] } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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
Para modificar as configurações disponíveis do Managed Connection Pooling, use o comando a seguir e defina ConnectionPoolConfig
:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON da solicitação:
{ "settings": { "connectionPoolConfig": { "flags": [ { "name": "CONFIGURATION_NAME", "value":"CONFIGURATION_VALUE" } ] } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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
Para modificar as configurações disponíveis do pool de conexões gerenciado, use o seguinte recurso do Terraform:
Desativar o pooling de conexões gerenciado para uma instância
É possível desativar o pool de conexões gerenciadas para uma instância atual usando o console doGoogle Cloud , a CLI gcloud ou a API Cloud SQL.
Para desativar o pool de conexões gerenciado em uma instância, faça o seguinte:
Console
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
Encontre a instância em que você quer desativar o pool de conexões gerenciado. Para abrir a página "Visão geral" da instância, clique no nome dela.
Clique em Editar.
Em Personalizar sua instância, expanda Conexões.
Para desativar o pooling de conexões gerenciado, desmarque a caixa Ativar o pool de conexões gerenciado.
Clique em Salvar.
gcloud
Use o comando gcloud beta sql instances
para desativar o pool de conexões gerenciadas.
gcloud beta sql instances patch INSTANCE_NAME \
--no-enable-connection-pooling
Substitua:
PROJECT_ID
: o nome da instância do Cloud SQL em que você quer desativar o pool de conexões gerenciadas.
REST v1
Para desativar o pool de conexões gerenciadas em uma instância, use o seguinte
comando e defina connectionPoolingEnabled
:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON da solicitação:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": false } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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
Para desativar o pool de conexões gerenciadas em uma instância, use o seguinte
comando e defina connectionPoolingEnabled
:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON da solicitação:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": false } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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
Para desativar o pool de conexões gerenciadas em uma instância, use o seguinte recurso do Terraform:
Ver o status do pool de conexões gerenciado de uma instância
É possível conferir o status do pool de conexões gerenciadas de uma instância usando o console Google Cloud , a CLI gcloud ou a API Cloud SQL.
Para conferir o status do pool de conexões gerenciadas de uma instância do Cloud SQL Enterprise Plus, faça o seguinte:
Console
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
Encontre a instância em que você quer ver o status do pool de conexões gerenciado. Para abrir a página "Visão geral" da instância, clique no nome dela.
A seção Conexões mostra se o pool de conexões gerenciadas está ativado ou desativado.
gcloud
gcloud beta sql instances describe INSTANCE_NAME
--format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"
Substitua:
PROJECT_ID
: o nome da instância do Cloud SQL para a qual você quer ver o status do pool de conexões gerenciadas.Se o pooling de conexões gerenciado estiver ativado, a seguinte resposta será retornada:
connectionPoolingEnabled: true
REST v1
Para conferir o status do pool de conexões gerenciadas da sua instância do Cloud SQL, use o comando a seguir e procure connectionPoolingEnabled
:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID ou número do projeto do projeto Google Cloud que contém a instância.
- INSTANCE_NAME: o nome da instância do Cloud SQL. Se o Private Service Connect estiver ativado nessa instância, os endpoints do Private Service Connect nas redes VPC poderão se conectar a ela.
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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
Para conferir o status do pool de conexões gerenciadas da sua instância do Cloud SQL, use o comando a seguir e procure connectionPoolingEnabled
:
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID ou número do projeto do projeto Google Cloud que contém a instância.
- INSTANCE_NAME: o nome da instância do Cloud SQL. Se o Private Service Connect estiver ativado nessa instância, os endpoints do Private Service Connect nas redes VPC poderão se conectar a ela.
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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" }
Monitorar o pooling de conexões gerenciado
É possível monitorar como o pool de conexões gerenciadas está sendo executado nas instâncias do Cloud SQL usando as seguintes métricas do pool de conexões gerenciadas do Cloud SQL:
Nome da métrica | Descrição |
---|---|
num_pools | O número total de pools de conexões por banco de dados. |
client_connection | Rastreia a contagem de conexões pelo status da conexão do cliente. Os status incluídos nessa métrica são:
|
server_connections | Monitora a contagem de conexões do servidor pelo status da conexão. Os status incluídos nesta métrica são:
|
client_connections_avg_wait_time | O tempo médio gasto por todos os clientes no estado de espera por um servidor. |
Para mais informações sobre essas métricas, consulte Métricas do Cloud SQL. Para conferir essas métricas usando o console Google Cloud , consulte Ver métricas na página de visão geral da instância do Cloud SQL.
A seguir
- Ver métricas na página de visão geral da instância do Cloud SQL
- Visão geral do pooling de conexões gerenciado