El ajuste de escala automático del grupo de lectura agrega o quita de forma automática nodos del grupo de lectura en el grupo de lectura según las necesidades de carga de trabajo de tu aplicación.
Puedes controlar el ajuste de escala automático del grupo de lectura limitando el uso promedio de CPU en todo el grupo de lectura o limitando la cantidad de conexiones de cliente que tienen acceso al grupo de lectura, con una de las dos métricas objetivo:
- Uso promedio de CPU: Te permite establecer el uso promedio de CPU en el que deseas que opere el grupo de lectura. El grupo de lectura se reduce o escala horizontalmente de forma automática según el uso de CPU de la carga de trabajo de tu aplicación.
- Conexiones de base de datos promedio: Te permite especificar la cantidad promedio de conexiones de base de datos de cliente que debe entregar cada nodo. El grupo de lectura escala o reduce verticalmente de forma automática según la cantidad de conexiones de clientes.
Para aplicar estas métricas de destino, también debes establecer un recuento mínimo y máximo de nodos del grupo de lectura.
Para habilitar el ajuste de escala automático del grupo de lectura, puedes configurar una o ambas métricas objetivo en la instancia. Si ambas métricas están activas, Cloud SQL aplica el recuento máximo de nodos del grupo de lectura que indican ambas métricas.
En la siguiente tabla, se enumeran los límites para cada métrica objetivo:
| Nombre de la métrica objetivo | Límites | Métrica pública relacionada |
|---|---|---|
| Uso de CPU promedio | Entre 0.1 y 0.9. | El uso promedio de CPU
(cloudsql.googleapis.com/database/cpu/utilization) en los
nodos del grupo de lectura. |
| Conexiones promedio a la base de datos |
Entre 10 y 262,142.
Nota: El valor máximo aceptable se correlaciona con el valor máximo establecido por la
marca de base de datos max_connections.
|
Representa un promedio de conexiones de clientes de la base de datos
(cloudsql.googleapis.com/database/postgresql/num_backends)
en los nodos del grupo de lectura.
Nota: Cuando se habilita el grupo de conexiones administrado
en la instancia, las conexiones individuales que conforman un
grupo de conexiones no se cuentan por separado ni se incluyen en la métrica
AVERAGE_DB_CONNECTIONS. Si el grupo de conexiones administrado está habilitado, te recomendamos que uses solo la métrica
AVERAGE_CPU_UTILIZATION para controlar el ajuste de escala automático del grupo de lectura.
|
Cuando se cumplen las condiciones para cambiar el tamaño del grupo de lectura, las operaciones de escalado automático del grupo de lectura se pueden ver desde la consola de Google Cloud . Todas las demás operaciones en el grupo de lectura y la instancia principal se bloquean hasta que se complete el ajuste de escala automático del grupo de lectura.
Características del escalado automático del grupo de lectura
Se aplican las siguientes características:
- Las operaciones de reducción vertical quitan solo un nodo a la vez.
- Las operaciones de escalamiento horizontal agregan, en paralelo, tantos nodos como sea necesario.
- De forma predeterminada, se aplican las operaciones de reducción y aumento de escala. De manera opcional,
puedes bloquear las operaciones de reducción de escala inhabilitándolas de forma manual
(
disableScaleIn). - De forma predeterminada, se aplica un período de inactividad de 600 segundos entre las operaciones sucesivas de escalado automático del grupo de lectura. Se requiere un período de inactividad mínimo de 60 segundos, ya sea para reducir o aumentar la escala.
- Cuando estableces una métrica objetivo, también debes definir la cantidad mínima (
minNodeCount) y máxima (maxNodeCount) de nodos del grupo de lectura que deseas usar. Si habilitas el ajuste de escala automático en un grupo de lectura existente, el tamaño actual del grupo de lectura debe estar dentro del rango que establezcas.
Limitaciones
Se aplica la siguiente limitación:
- Si quieres crear un grupo de lectura nuevo o escalar uno existente, debes
esperar a que se completen las operaciones de creación y escalamiento anteriores. Esto
se aplica a las operaciones asociadas con el grupo de lectura, así como a otros grupos de lectura
asociados con la misma instancia principal. Si intentas ejecutar operaciones
simultáneas, es posible que recibas el siguiente mensaje de error:
Operation failed because another operation was already in progress.
Antes de comenzar
Asegúrate de completar todos los pasos de requisitos previos obligatorios para crear un grupo de lectura.
Asegúrate de usar la versión 544.0.0 de
gcloudo una posterior.Asegúrate de usar la versión 7.8.0 o posterior del proveedor de Terraform.
- Asegúrate de establecer también los valores adecuados para
max_wal_sendersymax_replication_slots. Para obtener más información, consulta Características del grupo de lectura.
Crea un grupo de lectura con el ajuste de escala automático habilitado
Si especificas un valor objetivo de 0.50 para AVERAGE_CPU_UTILIZATION,
se agregarán o quitarán nodos del grupo de lectura para mantener el uso promedio
de CPU en todo el grupo de lectura en 0.50 o menos.
gcloud
Para crear un grupo de lectura con el ajuste de escala automático habilitado, ejecuta el siguiente comando:
gcloud sql instances create READ_POOL_NAME \ --tier=MACHINE_TIER --edition=ENTERPRISE_PLUS \ --instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT \ --database-version=DATABASE_VERSION \ --master-instance-name=PRIMARY_INSTANCE_NAME \ --region=REGION --network=NETWORK_NAME \ --no-assign-ip \ --auto-scale-enabled \ --auto-scale-max-node-count=MAX_NODE_COUNT \ --auto-scale-min-node-count=MIN_NODE_COUNT \ --auto-scale-target-metrics=TARGET_METRIC_1=VALUE_1
Reemplaza lo siguiente:
- READ_POOL_NAME: Es el nombre que deseas asignar al grupo de lectura.
- MACHINE_TIER: Es el nivel de máquina que deseas usar, como
db-perf-optimized-N-2. - NODE_COUNT: Es la cantidad de nodos del grupo de lectura con la que deseas comenzar.
- DATABASE_VERSION: Es la versión de la base de datos que deseas usar, como
POSTGRES_16. - PRIMARY_INSTANCE_NAME: Es el nombre de la instancia principal que deseas usar.
- REGION: Es la región que deseas usar, como
us-east1. - NETWORK_NAME: Es el nombre de la red que deseas usar.
- MAX_NODE_COUNT: Es la cantidad máxima de nodos del grupo de lectura que
deseas que use el grupo de lectura, como
5. - MIN_NODE_COUNT: Es la cantidad mínima de nodos del grupo de lectura que
deseas que use el grupo de lectura, como
1. - TARGET_METRIC_1: Es la métrica de destino que deseas usar, como
la siguiente:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Es el valor que deseas asignar para la métrica objetivo
que indicaste antes. Por ejemplo, para la métrica objetivo
AVERAGE_CPU_UTILIZATION, puedes asignar el valor0.50.
Terraform
Para crear un grupo de lectura con el ajuste de escala automático habilitado, usa un recurso de Terraform.
En el siguiente ejemplo, se incluyen recursos para la instancia principal y el grupo de lectura.
Aplique los cambios
Para aplicar tu configuración de Terraform en un proyecto de Google Cloud , completa los pasos de las siguientes secciones.
Prepara Cloud Shell
- Inicia Cloud Shell
-
Establece el proyecto de Google Cloud predeterminado en el que deseas aplicar tus configuraciones de Terraform.
Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si configuras valores explícitos en el archivo de configuración de Terraform.
Prepara el directorio
Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).
-
En Cloud Shell, crea un directorio y un archivo nuevo dentro de ese directorio. El nombre del archivo debe tener la extensión
.tf, por ejemplo,main.tf. En este instructivo, el archivo se denominamain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si sigues un instructivo, puedes copiar el código de muestra en cada sección o paso.
Copia el código de muestra en el
main.tfrecién creado.De manera opcional, copia el código de GitHub. Esto se recomienda cuando el fragmento de Terraform es parte de una solución de extremo a extremo.
- Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
- Guarda los cambios.
-
Inicializa Terraform. Solo debes hacerlo una vez por directorio.
terraform init
De manera opcional, incluye la opción
-upgradepara usar la última versión del proveedor de Google:terraform init -upgrade
Aplica los cambios
-
Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
terraform plan
Corrige la configuración según sea necesario.
-
Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, escribe
yescuando se te solicite:terraform apply
Espera hasta que Terraform muestre el mensaje “¡Aplicación completa!”.
- Abre tu proyecto de Google Cloud para ver los resultados. En la consola de Google Cloud , navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.
Borra los cambios
Para borrar tus cambios, haz lo siguiente:
- Para inhabilitar la protección contra eliminaciones, en tu archivo de configuración de Terraform, establece el
argumento
deletion_protectionenfalse.deletion_protection = "false"
- Para aplicar la configuración actualizada de Terraform, ejecuta el siguiente comando y, luego, ingresa
yescuando se te solicite:terraform apply
-
Quita los recursos que se aplicaron antes con tu configuración de Terraform a través de la ejecución del siguiente comando y, luego, ingresa
yescuando se te solicite:terraform destroy
REST v1
Para crear un grupo de lectura con el ajuste de escala automático habilitado, usa una solicitud POST con el método instances:insert.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- READ_POOL_NAME: Es el nombre que deseas asignar al grupo de lectura.
- REGION: Es la región en la que deseas que resida la instancia, como
us-central1. - PRIMARY_INSTANCE_ID: Es el ID de la instancia principal que deseas usar.
- PROJECT_ID: Es el ID del proyecto en el que deseas que se ubique el grupo de lectura, como
my-project-name. - DATABASE_VERSION: Es la versión de la base de datos que deseas usar, como
POSTGRES_16. - MACHINE_TIER: Es el nivel de máquina que deseas usar, como
db-perf-optimized-N-2. - FULL_NETWORK_NAME: Es el nombre de la red que deseas usar.
- MAX_NODE_COUNT: Es la cantidad máxima de nodos del grupo de lectura que
deseas que use la instancia del grupo de lectura,
como
10. - MIN_NODE_COUNT: Es la cantidad mínima de nodos del grupo de lectura que
deseas que use el grupo de lectura, como
2. - TARGET_METRIC_1: Es la métrica objetivo que deseas usar, como
AVERAGE_CPU_UTILIZATIONoAVERAGE_DB_CONNECTIONS. Debes definir, al menos, una de las dos métricas disponibles. - VALUE_1: Es el valor que deseas asignar a la métrica objetivo que indicaste antes. Por ejemplo, para la métrica objetivo
AVERAGE_CPU_UTILIZATION, puedes asignar el valor0.50. - NODE_COUNT: Es la cantidad de nodos del grupo de lectura con la que deseas comenzar, como
3.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Cuerpo JSON de la solicitud:
{
"name":"READ_POOL_NAME",
"region":"REGION",
"masterInstanceName":"PRIMARY_INSTANCE_ID",
"project":"PROJECT_ID",
"databaseVersion":"DATABASE_VERSION",
"settings":{
"tier":"MACHINE_TIER",
"edition":"ENTERPRISE_PLUS",
"ipConfiguration":{
"privateNetwork":"FULL_NETWORK_NAME",
"ipv4Enabled": false
},
"readPoolAutoScaleConfig":{
"enabled": true,
"minNodeCount": MIN_NODE_COUNT,
"maxNodeCount": MAX_NODE_COUNT,
"targetMetrics": [
{
"metric":"TARGET_METRIC_1",
"targetValue": VALUE_1
}
]
}
},
"instanceType":"READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/PRIMARY_INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "PRIMARY_INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
Para crear un grupo de lectura con el ajuste de escala automático habilitado, usa una solicitud POST con el método instances:insert.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- READ_POOL_NAME: Es el nombre que deseas asignar al grupo de lectura.
- REGION: Es la región en la que deseas que resida la instancia, como
us-central1. - PRIMARY_INSTANCE_ID: Es el ID de la instancia principal que deseas usar.
- PROJECT_ID: Es el ID del proyecto en el que deseas que se ubique el grupo de lectura, como
my-project-name. - DATABASE_VERSION: Es la versión de la base de datos que deseas usar, como
POSTGRES_16. - MACHINE_TIER: Es el nivel de máquina que deseas usar, como
db-perf-optimized-N-2. - FULL_NETWORK_NAME: Es el nombre de la red que deseas usar.
- MAX_NODE_COUNT: Es la cantidad máxima de nodos del grupo de lectura que
deseas que use la instancia del grupo de lectura,
como
10. - MIN_NODE_COUNT: Es la cantidad mínima de nodos del grupo de lectura que
deseas que use el grupo de lectura, como
2. - TARGET_METRIC_1: Es la métrica de destino que deseas usar, como
la siguiente:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Es el valor que deseas asignar a la métrica objetivo que indicaste antes. En este ejemplo, para la métrica objetivo
AVERAGE_CPU_UTILIZATION, asigna el valor0.50. - NODE_COUNT: Es la cantidad de nodos del grupo de lectura con la que deseas comenzar, como
3.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
Cuerpo JSON de la solicitud:
{
"name":"READ_POOL_NAME",
"region":"REGION",
"masterInstanceName":"PRIMARY_INSTANCE_ID",
"project":"PROJECT_ID",
"databaseVersion":"DATABASE_VERSION",
"settings":{
"tier":"MACHINE_TIER",
"edition":"ENTERPRISE_PLUS",
"ipConfiguration":{
"privateNetwork":"FULL_NETWORK_NAME",
"ipv4Enabled": false
},
"readPoolAutoScaleConfig":{
"enabled": true,
"minNodeCount": MIN_NODE_COUNT,
"maxNodeCount": MAX_NODE_COUNT,
"targetMetrics": [
{
"metric":"TARGET_METRIC_1",
"targetValue": VALUE_1
}
]
}
},
"instanceType":"READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/PRIMARTY_INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "PRIMARTY_INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Habilita el ajuste de escala automático del grupo de lectura en un grupo de lectura existente
Si ya tienes un grupo de lectura creado, puedes habilitar el ajuste de escala automático indicando la configuración de ajuste de escala automático que deseas usar.
Por ejemplo, si especificas un valor objetivo de 50 para
AVERAGE_DB_CONNECTIONS, se agregarán o quitarán nodos del
grupo de lectura para mantener las conexiones de base de datos promedio en todo el grupo en 50 o menos.
gcloud
Para habilitar el grupo de lectura con ajuste de escala automático en un grupo de lectura existente, ejecuta el siguiente comando.
gcloud sql instances patch INSTANCE --auto-scale-enabled --auto-scale-max-node-count=MAX_NODE_COUNT --auto-scale-min-node-count=MIN_NODE_COUNT --auto-scale-out-cooldown-seconds=COOLDOWN_SECONDS_SCALE_OUT --auto-scale-in-cooldown-seconds=COOLDOWN_SECONDS_SCALE_IN --auto-scale-target-metrics=TARGET_METRIC_1=VALUE_1
Reemplaza lo siguiente:
- INSTANCE_NAME: Es el nombre de la instancia asociada con el grupo de lectura que deseas modificar.
- MAX_NODE_COUNT: Es la cantidad máxima de nodos del grupo de lectura que
deseas que use el grupo de lectura,
como
10. - MIN_NODE_COUNT: Es la cantidad mínima de nodos del grupo de lectura que
deseas que use el grupo de lectura, como
2. - COOLDOWN_SECONDS_SCALE_OUT: Es opcional y se refiere al tiempo de enfriamiento o espera en
segundos entre la creación o eliminación de nodos del grupo de lectura, como
180. Se requiere un período de inactividad mínimo de 60 segundos. El valor predeterminado es 600 segundos. - COOLDOWN_SECONDS_SCALE_IN: Es opcional y se refiere al tiempo de enfriamiento o espera en
segundos entre la creación o eliminación de nodos del grupo de lectura, como
180. Se requiere un período de inactividad mínimo de 60 segundos. El valor predeterminado es 600 segundos. - TARGET_METRIC_1: Es la métrica de destino que deseas usar, como
la siguiente:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Es el valor que deseas asignar a la métrica objetivo que indicaste antes. En este ejemplo, para la métrica objetivo
AVERAGE_DB_CONNECTIONS, asigna el valor50.
REST v1
Para habilitar un grupo de lectura existente con ajuste de escala automático, usa el método PATCH.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: el ID o el número del proyecto de Google Cloud que contiene la instancia.
- INSTANCE_ID: Es el ID de la instancia asociada con el grupo de lectura.
- MAX_NODE_COUNT: Es la cantidad máxima de nodos del grupo de lectura que
deseas que use la instancia del grupo de lectura,
como
10. - MIN_NODE_COUNT: Es la cantidad mínima de nodos del grupo de lectura que
deseas que use el grupo de lectura, como
2. - COOLDOWN_SECONDS: Es opcional y se refiere al tiempo de enfriamiento o espera en
segundos entre la creación o eliminación de nodos del grupo de lectura, como
180. - SCALE_IN_DISABLED: Es opcional y te permite inhabilitar
el comportamiento de reducción de escala del grupo de lectura. Para inhabilitar la reducción de escala del grupo de lectura, establece el valor en
true. - TARGET_METRIC_1: Es la métrica de destino que deseas usar, como
la siguiente:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Es el valor que deseas asignar a la métrica objetivo que indicaste antes. En este ejemplo, para la métrica objetivo
AVERAGE_DB_CONNECTIONS, asigna el valor50.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{
"settings": {
"readPoolAutoScaleConfig": {
"enabled": true,
"minNodeCount": MIN_NODE_COUNT,
"maxNodeCount": MAX_NODE_COUNT,
"scaleOutCooldownSeconds": COOLDOWN_SECONDS,
"disableScaleIn": SCALE_IN_DISABLED,
"targetMetrics": [
{
"metric": "TARGET_METRIC_1",
"targetValue": VALUE_1
}
]
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"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 habilitar un grupo de lectura existente con ajuste de escala automático, usa el método PATCH.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: el ID o el número del proyecto de Google Cloud que contiene la instancia.
- INSTANCE_ID: Es el ID de la instancia asociada con el grupo de lectura.
- MAX_NODE_COUNT: Es la cantidad máxima de nodos del grupo de lectura que
deseas que use la instancia del grupo de lectura,
como
10. - MIN_NODE_COUNT: Es la cantidad mínima de nodos del grupo de lectura que
deseas que use el grupo de lectura, como
2. - COOLDOWN_SECONDS: Es opcional y se refiere al tiempo de enfriamiento o espera en
segundos entre la creación o eliminación de nodos del grupo de lectura, como
180. - SCALE_IN_DISABLED: Es opcional y te permite inhabilitar
el comportamiento de reducción de escala del grupo de lectura. Para inhabilitar la reducción de escala del grupo de lectura, establece el valor en
true. - TARGET_METRIC_1: Es la métrica de destino que deseas usar, como
la siguiente:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Es el valor que deseas asignar a la métrica objetivo que indicaste antes. En este ejemplo, para la métrica objetivo
AVERAGE_DB_CONNECTIONS, asigna el valor50.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{
"settings": {
"readPoolAutoScaleConfig": {
"enabled": true,
"minNodeCount": MIN_NODE_COUNT,
"maxNodeCount": MAX_NODE_COUNT,
"scaleOutCooldownSeconds": COOLDOWN_SECONDS,
"disableScaleIn": SCALE_IN_DISABLED,
"targetMetrics": [
{
"metric": "TARGET_METRIC_1",
"targetValue": VALUE_1
}
]
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Inhabilita el ajuste de escala automático del grupo de lectura en un grupo de lectura
Completa los siguientes pasos para inhabilitar el ajuste de escala automático del grupo de lectura.
gcloud
Para inhabilitar el ajuste de escala automático del grupo de lectura, ejecuta el siguiente comando.
gcloud sql instances patch INSTANCE_NAME --no-auto-scale-enabled
Reemplaza lo siguiente:
- INSTANCE_NAME: Es el nombre de la instancia asociada con el grupo de lectura que deseas modificar.
REST v1
Para inhabilitar el ajuste de escala automático del grupo de lectura, usa el método PATCH.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: el ID o el número del proyecto de Google Cloud que contiene la instancia.
- INSTANCE_ID: Es el ID de la instancia asociada con el grupo de lectura.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{
"settings":{
"readPoolAutoScaleConfig":{
"enabled": false
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
Para inhabilitar el ajuste de escala automático del grupo de lectura, usa el método PATCH.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: el ID o el número del proyecto de Google Cloud que contiene la instancia.
- INSTANCE_ID: Es el ID de la instancia asociada con el grupo de lectura.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{
"settings":{
"readPoolAutoScaleConfig":{
"enabled": false
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Ver métricas
Usa las estadísticas del sistema para ver las métricas pertinentes de tu grupo de lectura.
Para AVERAGE_CPU_UTILIZATION, consulta el gráfico de métricas clave de Uso de CPU.
Para AVERAGE_DB_CONNECTIONS, consulta el gráfico de métricas clave
Conexiones por base de datos.
Supervisa las operaciones de ajuste de escala automático del grupo de lectura
Cuando se cumplen las condiciones para activar un evento de ajuste de escala automático del grupo de lectura, se ejecuta una operación UPDATE
en la instancia. Puedes ver esta operación desde la consola de Google Cloud .
Las operaciones de escalado automático del grupo de lectura pueden tardar 10 minutos o más en aplicarse a la instancia. Las conexiones existentes no se transferirán a los nodos del grupo de lectura recién agregados, lo que significa que solo las conexiones nuevas se verán afectadas por el ajuste de escala automático del grupo de lectura.
Mientras se ejecuta la operación de ajuste de escala automático en el grupo de lectura, debes esperar a que termine antes de ejecutar otras actualizaciones en el grupo de lectura o en la instancia principal. Si intentas ejecutar solicitudes simultáneas, es posible que recibas el siguiente mensaje de error:
Operation failed because another operation was already in progress.
Puedes inspeccionar tu instancia de grupo de lectura y ver el cambio en el recuento de nodos:
gcloud sql instances describe READ_POOL_NAME | grep nodeCount
Reemplaza lo siguiente:
- READ_POOL_NAME: Es el nombre del grupo de lectura del que deseas obtener información.
Registros de auditoría de eventos del sistema
También puedes ver el mensaje del registro de auditoría del evento del sistema
asociado con el método cloudsql.instances.readPoolAutoScale,
que contiene el recuento de nodos antiguo y nuevo.