Esta página descreve como criar e gerenciar pools de leitura para cargas de trabalho de leitura grandes.
Antes de começar
- Os pools de leitura contêm cópias de uma instância principal. Se ainda não tiver feito isso, crie uma instância principal do Cloud SQL edição Enterprise Plus. Embora os pools de leitura ofereçam suporte à conectividade de IP público, para fins deste guia, crie uma instância principal com conectividade de IP particular (PSA). Para mais informações sobre instâncias primárias e replicação, consulte Sobre a replicação no Cloud SQL.
- Depois que a instância principal for criada, escolha uma senha para o usuário raiz e execute o comando abaixo para definir a senha na instância principal. Salve essa senha para usar mais tarde ao se conectar ao grupo de leitura.
- PROJECT: o nome do projeto em que você quer que a instância primária e o pool de leitura sejam armazenados.
- PRIMARY_INSTANCE_NAME: o nome da instância principal.
gcloud --project=PROJECT \ sql users set-password root --host=% \ --instance=PRIMARY_INSTANCE_NAME --prompt-for-password
Faça as seguintes substituições:
Criar um pool de leitura
gcloud
Para informações sobre como instalar e dar os primeiros passos com a CLI gcloud, consulte Instalar a CLI gcloud. Para mais informações sobre como iniciar o Cloud Shell, consulte Usar o Cloud Shell.
Use o comando gcloud beta sql instances create
abaixo
para criar um pool de leitura com vários nós de pool de leitura:
gcloud beta sql instances create READ_POOL_NAME \ --tier=TIER --edition=ENTERPRISE_PLUS \ --instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT \ --master-instance-name=PRIMARY_INSTANCE_NAME
Faça as seguintes substituições:
- READ_POOL_NAME: o nome que você quer usar para o pool de leitura.
- TIER: o tipo de máquina que você quer usar para cada nó do pool de leitura no pool de leitura, como
db-perf-optimized-N-4
. - NODE_COUNT: o número de nós do pool de leitura que você quer no
pool de leitura. Escolha qualquer número de
1
a20
. - PRIMARY_INSTANCE_NAME: o nome da instância principal associada
ao pool de leitura, como
my-primary-instance
.
REST v1
Use o
método
insert
do recurso de instâncias para criar um
pool de leitura com vários nós. A propriedade databaseVersion
precisa ser igual à principal.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT: o nome do projeto em que você quer que a instância primária e o pool de leitura sejam armazenados.
- REGION: a região do pool de leitura, como
us-east1
. A região precisa ser igual à instância principal. - TIER: o tipo de máquina que você quer usar para cada nó do pool de leitura no pool de leitura, como
db-perf-optimized-N-4
. - PRIMARY_INSTANCE_NAME: o nome da instância principal.
- READ_POOL_NAME: o nome que você quer usar para o pool de leitura, como
my-read-pool
. - DATABASE_VERSION: a versão do banco de dados que você quer usar.
Por exemplo,
POSTGRES_16
. - NODE_COUNT: o número de nós do pool de leitura que você quer no
pool de leitura. Escolha qualquer número de
1
a20
. - FULL_NETWORK_NAME: o caminho de rede completo em que você quer que o
pool de leitura seja armazenado, como
projects/vpc-host-project/global/networks/my-network-name
.
Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT/instances
Corpo JSON da solicitação:
{ "name": "READ_POOL_NAME", "masterInstanceName": "PRIMARY_INSTANCE_NAME", "project": "PROJECT", "databaseVersion": "DATABASE_VERSION", "region": "REGION", "instanceType": "READ_POOL_INSTANCE", "nodeCount": NODE_COUNT, "settings": { "tier": "TIER", "edition": "ENTERPRISE_PLUS", "ipConfiguration": { "ipv4Enabled": false, "privateNetwork": "FULL_NETWORK_NAME" } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
Use o
método
insert
do recurso de instâncias para criar um
pool de leitura com vários nós. A propriedade databaseVersion
precisa ser igual à principal.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT: o nome do projeto em que você quer que a instância primária e o pool de leitura sejam armazenados.
- REGION: a região do pool de leitura, como
us-east1
. A região precisa ser igual à instância principal. - TIER: o tipo de máquina que você quer usar para cada nó do pool de leitura no pool de leitura, como
db-perf-optimized-N-4
. - PRIMARY_INSTANCE_NAME: o nome da instância principal.
- READ_POOL_NAME: o nome que você quer usar para o pool de leitura, como
my-read-pool
. - DATABASE_VERSION: a versão do banco de dados que você quer usar.
Por exemplo,
POSTGRES_16
. - NODE_COUNT: o número de nós do pool de leitura que você quer no
pool de leitura. Escolha qualquer número de
1
a20
. - FULL_NETWORK_NAME: o caminho de rede completo em que você quer que o
pool de leitura seja armazenado, como
projects/vpc-host-project/global/networks/my-network-name
.
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances
Corpo JSON da solicitação:
{ "name": "READ_POOL_NAME", "masterInstanceName": "PRIMARY_INSTANCE_NAME", "project": "PROJECT", "databaseVersion": "DATABASE_VERSION", "region": "REGION", "instanceType": "READ_POOL_INSTANCE", "nodeCount": NODE_COUNT, "settings": { "tier": "TIER", "edition": "ENTERPRISE_PLUS", "ipConfiguration": { "ipv4Enabled": false, "privateNetwork": "FULL_NETWORK_NAME" } } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Converter uma réplica de leitura em um pool de leitura
É possível converter uma réplica de leitura da edição Cloud SQL Enterprise Plus em um pool de leitura especificando o número de nós no pool. Durante esse processo de conversão, o IP da réplica se torna o IP do pool de leitura (o endpoint de leitura), para que os clientes existentes possam se conectar ao pool sem reconfiguração.
Os nós do pool de leitura recém-criados terão o mesmo tipo e configuração de máquina da réplica de leitura original. Mudar esse tipo de máquina ou configuração exige uma operação separada. Essa operação só é compatível com réplicas de leitura zonais. Para converter uma réplica de leitura de alta disponibilidade (HA) em um pool de leitura, primeiro é necessário convertê-la em uma réplica de leitura zonal.
Para mais informações, consulte Editar a configuração do pool de leitura.
gcloud
Para informações sobre como instalar e dar os primeiros passos com a CLI gcloud, consulte Instalar a CLI gcloud. Para mais informações sobre como iniciar o Cloud Shell, consulte Usar o Cloud Shell.
Use o comando gcloud beta sql instances patch
abaixo
para converter uma réplica de leitura para uso com um pool de leitura:
gcloud beta sql instances patch READ_REPLICA_NAME \ --instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT
Faça as seguintes substituições:
- READ_REPLICA_NAME: o nome da réplica de leitura que você quer converter.
- NODE_COUNT: o número de nós do pool de leitura que você quer no
pool de leitura. Escolha qualquer número de
1
a20
.
REST v1
Use o método
patch
do recurso de instâncias para converter uma
réplica de leitura em um pool de leitura.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- READ_REPLICA_NAME: o nome da réplica de leitura que você quer converter, como
my-read-replica
. - NODE_COUNT: o número de nós do pool de leitura que você quer no
pool de leitura. Escolha qualquer número de
1
a20
.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_REPLICA_NAME
Corpo JSON da solicitação:
{ "instanceType": "READ_POOL_INSTANCE", "nodeCount": NODE_COUNT }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
Use o método
patch
do recurso de instâncias para converter uma
réplica de leitura em um pool de leitura.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- READ_REPLICA_NAME: o nome da réplica de leitura que você quer converter, como
my-read-replica
. - NODE_COUNT: o número de nós do pool de leitura que você quer no
pool de leitura. Escolha qualquer número de
1
a20
.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_REPLICA_NAME
Corpo JSON da solicitação:
{ "instanceType": "READ_POOL_INSTANCE", "nodeCount": NODE_COUNT }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Converter um pool de leitura em uma réplica de leitura
gcloud
Para informações sobre como instalar e dar os primeiros passos com a CLI gcloud, consulte Instalar a CLI gcloud. Para mais informações sobre como iniciar o Cloud Shell, consulte Usar o Cloud Shell.
Use o comando gcloud beta sql instances patch
abaixo
para converter uma réplica de leitura para uso com um pool de leitura:
gcloud beta sql instances patch READ_POOL_NAME \ --instance-type=READ_REPLICA_INSTANCE
Faça as seguintes substituições:
- READ_POOL_NAME: o nome do pool de leitura que você quer converter.
REST v1
Use o método
patch
do recurso de instâncias para converter um
pool de leitura em uma réplica de leitura.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- READ_POOL_NAME: o nome do pool de leitura, como
my-read-pool
.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
Corpo JSON da solicitação:
{ "instanceType": "READ_REPLICA_INSTANCE" }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
Use o método
patch
do recurso de instâncias para converter um
pool de leitura em uma réplica de leitura.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- READ_POOL_NAME: o nome do pool de leitura, como
my-read-pool
.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
Corpo JSON da solicitação:
{ "instanceType": "READ_REPLICA_INSTANCE" }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Conferir informações do pool de leitura
gcloud
Para informações sobre como instalar e dar os primeiros passos com a CLI gcloud, consulte Instalar a CLI gcloud. Para mais informações sobre como iniciar o Cloud Shell, consulte Usar o Cloud Shell.
Use o comando gcloud beta sql instances describe
a seguir
para descrever o pool de leitura:
gcloud beta sql instances describe READ_POOL_NAME
Faça as seguintes substituições:
- READ_POOL_NAME: o nome do pool de leitura que você quer descrever.
Um exemplo de resposta com endereço IP e informações do nó pode ser parecido com este:
... connectionName: my-project:us-central1:read-pool ipAddresses: - ipAddress: 10.3.0.108 type: PRIVATE nodeCount: 2 nodes: - dnsName: c5bdacb09ffc.j10o8yqc7pve.us-central1.sql.goog. gceZone: us-central1-f ipAddresses: - ipAddress: 10.3.0.112 type: PRIVATE name: read-pool-node-01 state: RUNNABLE - dnsName: 8f77c454d6b2.j10o8yqc7pve.us-central1.sql.goog. gceZone: us-central1-c ipAddresses: - ipAddress: 10.3.0.113 type: PRIVATE name: read-pool-node-02 state: RUNNABLE
REST v1
Use o método
get
para conferir os detalhes do pool de leitura.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT: o nome do projeto em que o pool de leitura está localizado.
- READ_POOL_NAME: o nome do pool de leitura, como
my-read-pool
.
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
Use o método
get
para conferir os detalhes do pool de leitura.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT: o nome do projeto em que o pool de leitura está localizado.
- READ_POOL_NAME: o nome do pool de leitura, como
my-read-pool
.
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ [...], "connectionName": "my-project:us-central1:read-pool", "ipAddresses": [ { "type": "PRIVATE", "ipAddress": "10.3.0.108" } ], "nodeCount": 2, "nodes": [ { "ipAddresses": [ { "type": "PRIVATE", "ipAddress": "10.3.0.112" } ], "name": "read-pool-node-01", "gceZone": "us-central1-f", "dnsName": "c5bdacb09ffc.j10o8yqc7pve.us-central1.sql.goog.", "state": "RUNNABLE" }, { "ipAddresses": [ { "type": "PRIVATE", "ipAddress": "10.3.0.113" } ], "name": "read-pool-node-02", "gceZone": "us-central1-c", "dnsName": "8f77c454d6b2.j10o8yqc7pve.us-central1.sql.goog.", "state": "RUNNABLE" } ] }
Adicionar ou remover nós do pool de leitura
As etapas a seguir dimensionam um pool de leitura modificando o número de nós do pool de leitura. Algumas limitações de operação se aplicam. Para mais informações, consulte Limitações de pool de leitura.
gcloud
Para informações sobre como instalar e dar os primeiros passos com a CLI gcloud, consulte Instalar a CLI gcloud. Para mais informações sobre como iniciar o Cloud Shell, consulte Usar o Cloud Shell.
Use o comando gcloud beta sql instances patch
a seguir para escalonar o pool de leitura:
gcloud beta sql instances patch READ_POOL_NAME \ --node-count=NODE_COUNT
Faça as seguintes substituições:
- READ_POOL_NAME: o nome do pool de leitura.
- NODE_COUNT: o número de nós do pool de leitura que você quer no
pool de leitura. Escolha qualquer número de
1
a20
.
REST v1
Use o método
patch
para aumentar ou diminuir o tamanho de um pool de leitura modificando
o número de nós no pool.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT: o nome do projeto em que o pool de leitura está localizado.
- NODE_COUNT: o número de nós do pool de leitura que você quer no
pool de leitura. Escolha qualquer número de
1
a20
.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
Corpo JSON da solicitação:
{ "nodeCount": NODE_COUNT }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
Use o método
patch
para aumentar ou diminuir o tamanho de um pool de leitura modificando
o número de nós no pool.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT: o nome do projeto em que o pool de leitura está localizado.
- NODE_COUNT: o número de nós do pool de leitura que você quer no
pool de leitura. Escolha qualquer número de
1
a20
.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
Corpo JSON da solicitação:
{ "nodeCount": NODE_COUNT }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Editar configuração do pool de leitura
As etapas a seguir mostram como editar a configuração do pool de leitura. Para mais informações, consulte Sobre as configurações da instância e Editar instâncias.
gcloud
Para informações sobre como instalar e dar os primeiros passos com a CLI gcloud, consulte Instalar a CLI gcloud. Para mais informações sobre como iniciar o Cloud Shell, consulte Usar o Cloud Shell.
Use o comando gcloud beta sql instances patch
abaixo para escalonar verticalmente o pool de leitura, por exemplo, modificando o tipo de máquina:
gcloud beta sql instances patch READ_POOL_NAME \ --tier=TIER
Faça as seguintes substituições:
- READ_POOL_NAME: o nome do pool de leitura.
- TIER: o tipo de máquina que você quer aplicar a cada nó do pool de leitura, como
db-perf-optimized-N-8
.
REST v1
Use o método
patch
para modificar a configuração do nó do pool de leitura.
As configurações são aplicadas de maneira uniforme a todos os nós do pool de leitura.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT: o nome do projeto em que o pool de leitura está localizado.
- TIER: o tipo de máquina que você quer usar para cada nó do pool de leitura no pool de leitura, como
db-perf-optimized-N-4
. - READ_POOL_NAME: o nome do pool de leitura, como
my-read-pool
.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
Corpo JSON da solicitação:
{ "settings": { "tier": "TIER" } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
Use o método
patch
para modificar a configuração do nó do pool de leitura.
As configurações são aplicadas de maneira uniforme a todos os nós do pool de leitura.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT: o nome do projeto em que o pool de leitura está localizado.
- TIER: o tipo de máquina que você quer usar para cada nó do pool de leitura no pool de leitura, como
db-perf-optimized-N-4
. - READ_POOL_NAME: o nome do pool de leitura, como
my-read-pool
.
Método HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
Corpo JSON da solicitação:
{ "settings": { "tier": "TIER" } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Conectar-se a um pool de leitura
Há muitas maneiras de se conectar a um grupo de leitura. As etapas a seguir mostram uma maneira de se conectar a um pool de leitura com um endereço IP particular, criando uma VM na mesma rede VPC para servir como a origem da conexão.
Para mais informações sobre outras maneiras de configurar a conectividade a uma instância do Cloud SQL, consulte Sobre as conexões do Cloud SQL. Os métodos de conexão geralmente exigem que você primeiro obtenha o endereço IP ou o nome da conexão da instância, conforme descrito em Consultar informações do pool de leitura. Os pools de leitura oferecem suporte à maioria dos métodos de conexão disponíveis para outras instâncias do Cloud SQL, com algumas limitações.
Se você estiver se conectando usando o proxy do Cloud SQL Auth ou os conectores do Cloud SQL, atualize para a versão mais recente. Para suporte a pool de leitura, as versões mínimas necessárias incluem:
- Proxy de autenticação do Cloud SQL: v2.15.2
- Conector do Cloud SQL para Python: v1.18.0
- Conector do Cloud SQL para Go: v1.16.0
- Conector do Node do Cloud SQL: v1.7.0
- Conector Java do Cloud SQL: v1.24.0
Console
Para se conectar a um pool de leitura, siga estas etapas:
-
No Google Cloud console, acesse a página Instâncias do Cloud SQL.
Acesse "Instâncias do Cloud SQL"
A página "Visão geral" da instância será aberta. Clique no novo pool de leitura para conferir os detalhes, incluindo o endereço IP particular. Na seção Conectar-se a esta instância, copie e salve o Nome da conexão da instância. Oconnection name
está no formatoprojectID:region:instanceID
. Você vai usar esseconnection name
mais tarde ao iniciar o proxy do Cloud SQL Auth. - Crie uma VM do Compute Engine.
- Abra duas conexões SSH com a VM do Compute Engine. Eles são usados nas etapas seguintes para executar o proxy de autenticação do Cloud SQL e o cliente do banco de dados.
- Instalar o cliente.
- Instalar o proxy do Cloud SQL Auth.
- Inicie o proxy do Cloud SQL Auth.
- Conectar-se à sua instância do Cloud SQL.
Para mais informações, consulte Conectar-se a uma instância do Cloud SQL com IP particular.
Excluir um pool de leitura
gcloud
Para informações sobre como instalar e dar os primeiros passos com a CLI gcloud, consulte Instalar a CLI gcloud. Para mais informações sobre como iniciar o Cloud Shell, consulte Usar o Cloud Shell.
Use o comando gcloud sql instances delete
a seguir
para excluir um pool de leitura:
gcloud sql instances delete READ_POOL_NAME
Faça as seguintes substituições:
- READ_POOL_NAME: o nome do pool de leitura que você quer excluir.
REST v1
Use o método
delete
para excluir um pool de leitura.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT: o nome do projeto em que o pool de leitura está localizado.
- READ_POOL_NAME: o nome do pool de leitura, como
my-read-pool
.
Método HTTP e URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
Use o método
delete
para excluir um pool de leitura.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT: o nome do projeto em que o pool de leitura está localizado.
- READ_POOL_NAME: o nome do pool de leitura, como
my-read-pool
.
Método HTTP e URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta: