Nesta página, descrevemos como ativar, configurar e monitorar o pool de conexões gerenciado nas instâncias do Cloud SQL.
O pool de conexões gerenciado permite escalonar suas cargas de trabalho otimizando a utilização de recursos e a latência de conexão das instâncias usando o pool. Para informações detalhadas sobre o pool de conexões gerenciado e como usá-lo nas suas instâncias, consulte Visão geral do pool de conexões gerenciado.
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 CLI gcloud, confirme se a versão da CLI gcloud
é
515.0.0ou posterior.
Ativar o pool de conexões gerenciado
É possível ativar o pool de conexões gerenciadas 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 nova instância com o pool de conexões gerenciado ativado, consulte Criar instâncias. É possível ativar o pool de conexões gerenciado para uma nova instância usando apenas a CLI gcloud ou a API Cloud SQL.
Ativar o pool de conexões gerenciado para uma instância atual
Para ativar o pool de conexões gerenciado em uma instância, faça o seguinte:
Console
No console do Cloud de Confiance , 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 de 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 sql instances
para ativar o pool de conexões gerenciado.
gcloud sql instances patch INSTANCE_NAME \
--enable-connection-pooling
Substitua:
INSTANCE_NAME: o nome da instância do Cloud SQL.
REST v1
Use o comando a seguir 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
Use o comando a seguir 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
Use o seguinte recurso do Terraform:
Modificar o pooling de conexões gerenciado para uma instância
Depois de ativar o pool de conexões gerenciado, é possível personalizá-lo para atender às necessidades da sua instância usando opções de configuração avançadas. Essas opções de configuração são chamadas de flags de pool de conexões gerenciado. Para mais informações sobre as opções de configuração avançada, os valores padrão e os intervalos, consulte Opções de configurações avançadas.
Para modificar as opções avançadas de configuração do pool de conexões gerenciadas de uma instância, faça o seguinte:
Console
No console do Cloud de Confiance , 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 de visão geral da instância, clique no nome dela.
Clique em Editar.
Em Personalizar sua instância, abra Conexões.
Em Pool de conexões gerenciado, abra as Opções avançadas de pooling.
Modifique as opções avançadas de pooling que você quer atualizar.
Clique em Salvar.
gcloud
Use o comando gcloud sql instances
para modificar as opções de configuração.
gcloud sql instances patch INSTANCE_NAME \
--connection-pool-flags=CONFIGURATION_NAME=CONFIGURATION_VALUE
Substitua:
INSTANCE_NAME: o nome da instância do Cloud SQL.CONFIGURATION_NAME: o nome da opção de configuração. Para ver uma lista de todas as opções de configuração avançada, consulte Opções de configurações avançadas.CONFIGURATION_VALUE: o novo valor da opção de configuração selecionada.
REST v1
Para modificar as configurações avançadas do pool de conexões gerenciadas, use o seguinte comando 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 avançadas do pool de conexões gerenciadas, use o seguinte comando 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 avançadas do pool de conexões gerenciadas, use o seguinte recurso do Terraform:
Desativar o pool 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 doCloud de Confiance , a CLI gcloud ou a API Cloud SQL.
Para desativar o pool de conexões gerenciadas em uma instância, faça o seguinte:
Console
No console do Cloud de Confiance , acesse a página Instâncias do Cloud SQL.
Encontre a instância em que você quer desativar o pool de conexões gerenciadas. Para abrir a página de visão geral da instância, clique no nome dela.
Clique em Editar.
Em Personalizar sua instância, expanda Conexões.
Para desativar o pool de conexões gerenciado, desmarque a caixa Ativar pool de conexões gerenciado.
Clique em Salvar.
gcloud
Use o comando gcloud sql instances
para desativar o pool de conexões gerenciadas.
gcloud sql instances patch INSTANCE_NAME \
--no-enable-connection-pooling
Substitua:
PROJECT_ID: o nome da instância do Cloud SQL.
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 pooling 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 do Cloud de Confiance , a CLI gcloud ou a API Cloud SQL.
Para conferir o status do pool de conexões gerenciado de uma instância do Cloud SQL Enterprise Plus, faça o seguinte:
Console
No console do Cloud de Confiance , acesse a página Instâncias do Cloud SQL.
Encontre a instância em que você quer conferir o status do pool de conexões gerenciado. Para abrir a página de visão geral da instância, clique no nome dela.
A seção Conexões mostra se o pool de conexões gerenciado está ativado ou desativado.
gcloud
Use o comando gcloud sql instances describe para conferir o status do pool de conexões gerenciadas de uma instância:
gcloud sql instances describe INSTANCE_NAME
--format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"
Substitua:
PROJECT_ID: o nome da instância do Cloud SQL.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 gerenciado da instância do Cloud SQL, use o seguinte comando 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 Cloud de Confiance 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": "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
Para conferir o status do pool de conexões gerenciado da instância do Cloud SQL, use o seguinte comando 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 Cloud de Confiance 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": "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"
}
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 |
|---|---|
| threads | Rastreia a contagem de threads no pool de conexões pelo
status. Os status incluídos nessa métrica são:
|
| pending_connection | O número de conexões atualmente na fila de trabalho. |
| avg_wait_time | O tempo médio que a solicitação de conexão passa aguardando um servidor. |
Para mais informações sobre essas métricas, consulte Métricas do Cloud SQL. Para conferir essas métricas usando o console do Cloud de Confiance , consulte Ver métricas na página de visão geral da instância do Cloud SQL.