Esta página describe cómo crear y administrar grupos de lectura para sus grandes cargas de trabajo de lectura.
Antes de empezar
- Los grupos de lectura contienen copias de una instancia principal. Si aún no lo ha hecho, cree una instancia principal de Cloud SQL Enterprise Plus . Si bien los grupos de lectura admiten conectividad IP pública, para esta guía, cree una instancia principal con conectividad IP privada (PSA). Para obtener más información sobre las instancias principales y la replicación, consulte Acerca de la replicación en Cloud SQL .
- Tras crear la instancia principal, elija una contraseña para el usuario root y ejecute el siguiente comando para establecerla. Guarde esta contraseña para usarla más adelante al conectarse al grupo de lectura.
- PROJECT : el nombre del proyecto donde desea que residan la instancia principal y el grupo de lectura.
- PRIMARY_INSTANCE_NAME : el nombre de la instancia principal.
gcloud --project=PROJECT \ sql users set-password root --host=% \ --instance=PRIMARY_INSTANCE_NAME --prompt-for-password
Realice las siguientes sustituciones:
Crear un grupo de lectura
nube g
Para obtener información sobre la instalación y los primeros pasos con la CLI de gcloud, consulte Instalar la CLI de gcloud . Para obtener información sobre cómo iniciar Cloud Shell, consulte Usar Cloud Shell .
Utilice el siguiente comando gcloud beta sql instances create
para crear un grupo de lectura con varios nodos de grupo de lectura:
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
Realice las siguientes sustituciones:
- READ_POOL_NAME : el nombre que desea utilizar para el grupo de lectura.
- TIER : el tipo de máquina que desea utilizar para cada nodo del grupo de lectura, como por ejemplo
db-perf-optimized-N-4
. - NODE_COUNT : el número de nodos del pool de lectura que desea incluir. Elija un número entre
1
y20
. - PRIMARY_INSTANCE_NAME : el nombre de la instancia principal asociada con el grupo de lectura, como
my-primary-instance
.
REST versión 1
Utilice el método insert
del recurso de instancias para crear un grupo de lectura con varios nodos. La propiedad databaseVersion
debe ser la misma que la principal.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT : el nombre del proyecto donde desea que residan la instancia principal y el grupo de lectura.
- REGION : la región del grupo de lectura, como
us-east1
. La región debe ser la misma que la de la instancia principal. - TIER : el tipo de máquina que desea utilizar para cada nodo del grupo de lectura, como por ejemplo
db-perf-optimized-N-4
. - PRIMARY_INSTANCE_NAME : el nombre de la instancia principal.
- READ_POOL_NAME : el nombre que desea utilizar para el grupo de lectura, como por ejemplo
my-read-pool
. - DATABASE_VERSION : la versión de la base de datos que desea utilizar. Por ejemplo,
MYSQL_8_0_37
. - NODE_COUNT : el número de nodos del pool de lectura que desea incluir. Elija un número entre
1
y20
. - FULL_NETWORK_NAME : la ruta de red completa donde desea que resida el grupo de lectura, como
projects/vpc-host-project/global/networks/my-network-name
.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT/instances
Cuerpo JSON de la solicitud:
{ "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 su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
REST v1beta4
Utilice el método insert
del recurso de instancias para crear un grupo de lectura con varios nodos. La propiedad databaseVersion
debe ser la misma que la principal.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT : el nombre del proyecto donde desea que residan la instancia principal y el grupo de lectura.
- REGION : la región del grupo de lectura, como
us-east1
. La región debe ser la misma que la de la instancia principal. - TIER : el tipo de máquina que desea utilizar para cada nodo del grupo de lectura, como por ejemplo
db-perf-optimized-N-4
. - PRIMARY_INSTANCE_NAME : el nombre de la instancia principal.
- READ_POOL_NAME : el nombre que desea utilizar para el grupo de lectura, como por ejemplo
my-read-pool
. - DATABASE_VERSION : la versión de la base de datos que desea utilizar. Por ejemplo,
MYSQL_8_0_37
. - NODE_COUNT : el número de nodos del pool de lectura que desea incluir. Elija un número entre
1
y20
. - FULL_NETWORK_NAME : la ruta de red completa donde desea que resida el grupo de lectura, como
projects/vpc-host-project/global/networks/my-network-name
.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances
Cuerpo JSON de la solicitud:
{ "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 su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
Convertir una réplica de lectura en un grupo de lectura
Puede convertir una réplica de lectura existente de Cloud SQL Enterprise Plus en un grupo de lectura especificando el número de nodos del grupo. Durante este proceso de conversión, la IP de la réplica se convertirá en la IP del grupo de lectura (el punto final de lectura), de modo que los clientes existentes puedan conectarse al grupo sin necesidad de reconfigurarlo.
Los nodos del grupo de lectura recién creados tendrán el mismo tipo de máquina y configuración que la réplica de lectura original. Cambiar este tipo de máquina o configuración requiere una operación aparte. Esta operación solo se admite en réplicas de lectura zonales. Para convertir una réplica de lectura de alta disponibilidad (HA) en un grupo de lectura, primero debe convertirla en una réplica de lectura zonal.
Para obtener más información, consulte Editar la configuración del grupo de lectura .
nube g
Para obtener información sobre la instalación y los primeros pasos con la CLI de gcloud, consulte Instalar la CLI de gcloud . Para obtener información sobre cómo iniciar Cloud Shell, consulte Usar Cloud Shell .
Utilice el siguiente comando gcloud beta sql instances patch
para convertir una réplica de lectura para su uso con un grupo de lectura:
gcloud beta sql instances patch READ_REPLICA_NAME \ --instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT
Realice las siguientes sustituciones:
- READ_REPLICA_NAME : el nombre de la réplica de lectura que desea convertir.
- NODE_COUNT : el número de nodos del pool de lectura que desea incluir. Elija un número entre
1
y20
.
REST versión 1
Utilice el método patch
del recurso de instancias para convertir una réplica de lectura en un grupo de lectura.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- READ_REPLICA_NAME : el nombre de la réplica de lectura que desea convertir, como por ejemplo
my-read-replica
. - NODE_COUNT : el número de nodos del pool de lectura que desea incluir. Elija un número entre
1
y20
.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_REPLICA_NAME
Cuerpo JSON de la solicitud:
{ "instanceType": "READ_POOL_INSTANCE", "nodeCount": NODE_COUNT }
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
REST v1beta4
Utilice el método patch
del recurso de instancias para convertir una réplica de lectura en un grupo de lectura.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- READ_REPLICA_NAME : el nombre de la réplica de lectura que desea convertir, como por ejemplo
my-read-replica
. - NODE_COUNT : el número de nodos del pool de lectura que desea incluir. Elija un número entre
1
y20
.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_REPLICA_NAME
Cuerpo JSON de la solicitud:
{ "instanceType": "READ_POOL_INSTANCE", "nodeCount": NODE_COUNT }
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
Convertir un grupo de lectura en una réplica de lectura
nube g
Para obtener información sobre la instalación y los primeros pasos con la CLI de gcloud, consulte Instalar la CLI de gcloud . Para obtener información sobre cómo iniciar Cloud Shell, consulte Usar Cloud Shell .
Utilice el siguiente comando gcloud beta sql instances patch
para convertir una réplica de lectura para su uso con un grupo de lectura:
gcloud beta sql instances patch READ_POOL_NAME \ --instance-type=READ_REPLICA_INSTANCE
Realice las siguientes sustituciones:
- READ_POOL_NAME : el nombre del grupo de lectura que desea convertir.
REST versión 1
Utilice el método patch
del recurso de instancias para convertir un grupo de lectura en una réplica de lectura.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- READ_POOL_NAME : el nombre del grupo de lectura, como por ejemplo
my-read-pool
.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
Cuerpo JSON de la solicitud:
{ "instanceType": "READ_REPLICA_INSTANCE" }
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
REST v1beta4
Utilice el método patch
del recurso de instancias para convertir un grupo de lectura en una réplica de lectura.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- READ_POOL_NAME : el nombre del grupo de lectura, como por ejemplo
my-read-pool
.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
Cuerpo JSON de la solicitud:
{ "instanceType": "READ_REPLICA_INSTANCE" }
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
Ver información de lectura del pool
nube g
Para obtener información sobre la instalación y los primeros pasos con la CLI de gcloud, consulte Instalar la CLI de gcloud . Para obtener información sobre cómo iniciar Cloud Shell, consulte Usar Cloud Shell .
Utilice el siguiente comando gcloud beta sql instances describe
para describir el grupo de lectura:
gcloud beta sql instances describe READ_POOL_NAME
Realice las siguientes sustituciones:
- READ_POOL_NAME : el nombre del grupo de lectura que desea describir.
Un ejemplo de respuesta con dirección IP e información del nodo podría ser similar al siguiente:
... 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 versión 1
Utilice el método get
para ver los detalles del grupo de lectura.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT : el nombre del proyecto donde reside el grupo de lectura.
- READ_POOL_NAME : el nombre del grupo de lectura, como por ejemplo
my-read-pool
.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
REST v1beta4
Utilice el método get
para ver los detalles del grupo de lectura.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT : el nombre del proyecto donde reside el grupo de lectura.
- READ_POOL_NAME : el nombre del grupo de lectura, como por ejemplo
my-read-pool
.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
{ [...], "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" } ] }
Agregar o eliminar nodos del grupo de lectura
Los siguientes pasos amplían o reducen la capacidad de un grupo de lectura modificando el número de nodos del grupo. Se aplican algunas limitaciones operativas. Para obtener más información, consulte Limitaciones del grupo de lectura .
nube g
Para obtener información sobre la instalación y los primeros pasos con la CLI de gcloud, consulte Instalar la CLI de gcloud . Para obtener información sobre cómo iniciar Cloud Shell, consulte Usar Cloud Shell .
Utilice el siguiente comando gcloud beta sql instances patch
para escalar el grupo de lectura:
gcloud beta sql instances patch READ_POOL_NAME \ --node-count=NODE_COUNT
Realice las siguientes sustituciones:
- READ_POOL_NAME : el nombre del grupo de lectura.
- NODE_COUNT : el número de nodos del pool de lectura que desea incluir. Elija un número entre
1
y20
.
REST versión 1
Utilice el método patch
para ampliar o reducir la escala de un grupo de lectura modificando la cantidad de nodos del grupo de lectura.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT : el nombre del proyecto donde reside el grupo de lectura.
- NODE_COUNT : el número de nodos del pool de lectura que desea incluir. Elija un número entre
1
y20
.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
Cuerpo JSON de la solicitud:
{ "nodeCount": NODE_COUNT }
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
REST v1beta4
Utilice el método patch
para ampliar o reducir la escala de un grupo de lectura modificando la cantidad de nodos del grupo de lectura.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT : el nombre del proyecto donde reside el grupo de lectura.
- NODE_COUNT : el número de nodos del pool de lectura que desea incluir. Elija un número entre
1
y20
.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
Cuerpo JSON de la solicitud:
{ "nodeCount": NODE_COUNT }
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
Editar la configuración del grupo de lectura
Los siguientes pasos le muestran cómo editar la configuración del grupo de lectura. Para obtener información más detallada, consulte Acerca de la configuración de instancias y Editar instancias .
nube g
Para obtener información sobre la instalación y los primeros pasos con la CLI de gcloud, consulte Instalar la CLI de gcloud . Para obtener información sobre cómo iniciar Cloud Shell, consulte Usar Cloud Shell .
Utilice el siguiente comando gcloud beta sql instances patch
para escalar verticalmente el grupo de lectura, por ejemplo, modificando el tipo de máquina:
gcloud beta sql instances patch READ_POOL_NAME \ --tier=TIER
Realice las siguientes sustituciones:
- READ_POOL_NAME : el nombre del grupo de lectura.
- TIER : el tipo de máquina que desea aplicar a cada nodo del grupo de lectura, como por ejemplo
db-perf-optimized-N-8
.
REST versión 1
Utilice el método patch
para modificar la configuración del nodo del grupo de lectura. La configuración se aplica uniformemente a todos los nodos del grupo de lectura.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT : el nombre del proyecto donde reside el grupo de lectura.
- TIER : el tipo de máquina que desea utilizar para cada nodo del grupo de lectura, como por ejemplo
db-perf-optimized-N-4
. - READ_POOL_NAME : el nombre del grupo de lectura, como por ejemplo
my-read-pool
.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
Cuerpo JSON de la solicitud:
{ "settings": { "tier": "TIER" } }
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
REST v1beta4
Utilice el método patch
para modificar la configuración del nodo del grupo de lectura. La configuración se aplica uniformemente a todos los nodos del grupo de lectura.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT : el nombre del proyecto donde reside el grupo de lectura.
- TIER : el tipo de máquina que desea utilizar para cada nodo del grupo de lectura, como por ejemplo
db-perf-optimized-N-4
. - READ_POOL_NAME : el nombre del grupo de lectura, como por ejemplo
my-read-pool
.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
Cuerpo JSON de la solicitud:
{ "settings": { "tier": "TIER" } }
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
Conectarse a un grupo de lectura
Hay muchas maneras de conectarse a un grupo de lectura. Los siguientes pasos muestran una forma: conectarse a un grupo de lectura con una dirección IP privada creando una máquina virtual en la misma red de VPC que sirva como origen de la conexión.
Para obtener más información sobre otras maneras de configurar la conectividad con una instancia de Cloud SQL, consulte Acerca de las conexiones de Cloud SQL . Los métodos de conexión suelen requerir que primero se obtenga la dirección IP o el nombre de conexión de la instancia, como se describe en Ver información del grupo de lectura . Los grupos de lectura admiten la mayoría de los métodos de conexión disponibles para otras instancias de Cloud SQL, con algunas limitaciones .
Si se conecta mediante el proxy de autenticación de Cloud SQL o los conectores de Cloud SQL, asegúrese de actualizar a la última versión. Para la compatibilidad con grupos de lectura, las versiones mínimas requeridas son las siguientes:
- Proxy de autenticación de Cloud SQL: v2.15.2
- Conector Python de Cloud SQL: v1.18.0
- Conector Go de Cloud SQL: v1.16.0
- Conector de nodo de Cloud SQL: v1.7.0
- Conector Java de Cloud SQL: v1.24.0
Consola
Para conectarse a un grupo de lectura, complete los siguientes pasos:
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
Accederás a la página "Descripción general de la instancia". Haz clic en el nuevo grupo de lectura para ver los detalles, incluida su dirección IP privada. En la sección "Conectarse a esta instancia" , copia y guarda el nombre de la conexión . Elconnection name
tiene el formatoprojectID:region:instanceID
. Usarás esteconnection name
más adelante al iniciar el proxy de autenticación de Cloud SQL.- Crear una máquina virtual de Compute Engine .
- Abra dos conexiones SSH a la máquina virtual de Compute Engine . Estas se usarán en los pasos posteriores para ejecutar el proxy de autenticación de Cloud SQL y el cliente de base de datos.
- Instalar el cliente .
- Instalar el proxy de autenticación de Cloud SQL .
- Inicie el proxy de autenticación de Cloud SQL .
- Conéctese a su instancia de Cloud SQL .
Para obtener más información, consulte Conectarse a una instancia de Cloud SQL con IP privada .
Eliminar un grupo de lectura
nube g
Para obtener información sobre la instalación y los primeros pasos con la CLI de gcloud, consulte Instalar la CLI de gcloud . Para obtener información sobre cómo iniciar Cloud Shell, consulte Usar Cloud Shell .
Utilice el siguiente comando gcloud sql instances delete
para eliminar un grupo de lectura:
gcloud sql instances delete READ_POOL_NAME
Realice las siguientes sustituciones:
- READ_POOL_NAME : el nombre del grupo de lectura que desea eliminar.
REST versión 1
Utilice el método delete
para eliminar un grupo de lectura.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT : el nombre del proyecto donde reside el grupo de lectura.
- READ_POOL_NAME : el nombre del grupo de lectura, como por ejemplo
my-read-pool
.
Método HTTP y URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente:
REST v1beta4
Utilice el método delete
para eliminar un grupo de lectura.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
- PROJECT : el nombre del proyecto donde reside el grupo de lectura.
- READ_POOL_NAME : el nombre del grupo de lectura, como por ejemplo
my-read-pool
.
Método HTTP y URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
Para enviar su solicitud, expanda una de estas opciones:
Debería recibir una respuesta JSON similar a la siguiente: