Cómo reducir la capacidad de almacenamiento de la instancia

En esta página, se muestra cómo administrar la capacidad de almacenamiento de una instancia de Cloud SQL con las capacidades de reducción de almacenamiento.

Antes de comenzar

  1. Revisa las limitaciones de la función.

  2. Si usas la CLI de gcloud, asegúrate de usar la versión más reciente del SDK de Google Cloud y gcloud CLI.

  3. Obtén los siguientes permisos de IAM:

    • cloudsql.instances.getDiskShrinkConfig
    • cloudsql.instances.performDiskShrink

    Estos permisos están disponibles en cualquiera de los siguientes roles. Cuando asignes tu rol, te recomendamos que apliques el principio de privilegio mínimo:

    • Administrador de Cloud SQL (roles/cloudsql.admin)
    • Editor de Cloud SQL (roles/cloudsql.editor)

    Para obtener más información, consulta los siguientes recursos:

Prepara la instancia

Antes de comenzar, completa los siguientes requisitos.

Estos pasos son los mismos para las instancias principales y las réplicas de lectura.

Si actualizas una réplica de lectura, asegúrate de reducir primero la capacidad de la instancia principal y, luego, el tamaño de la réplica.

  1. Obtén el ID del proyecto que contiene la instancia que deseas administrar.

  2. Verifica el estado actual de la instancia para asegurarte de que se esté ejecutando. Una forma de verificarlo es usar el comando describe:

      gcloud sql instances describe
    

    Devuelve el siguiente estado:

      RUNNABLE
    

    De lo contrario, inicia la instancia.

  3. Crea una copia de seguridad de la instancia actual. Esto te permite restaurar la instancia más adelante si tienes problemas durante la configuración.

  4. Inhabilita todas las extensiones o funciones que habiliten conexiones salientes (o que requieran transferencia de datos saliente).

Cómo reducir la capacidad de almacenamiento de una instancia

Los siguientes pasos son los mismos para las instancias principales y las réplicas de lectura.

  1. Verifica la capacidad de almacenamiento mínima objetivo de la instancia y el tiempo de operación estimado. Esta información puede ayudarte a planificar la operación de reducción del almacenamiento.

    gcloud

    Ejecuta el comando gcloud sql instances get-storage-shrink-config:

    gcloud sql instances get-storage-shrink-config INSTANCE_NAME
    

    Reemplaza lo siguiente:

    • INSTANCE_NAME: Es el nombre de la instancia principal.

    La respuesta incluye un valor para minimalTargetSizeGb. Puedes usar este valor para determinar el valor que deseas usar para el parámetro --storage-size cuando ejecutas una operación de reducción de almacenamiento.

    La respuesta también muestra un mensaje con un tiempo de operación estimado, similar al siguiente:

    ...
    "The estimated operation time is 20 minutes".
    

    REST v1

    Usa el método GET para ver la capacidad de almacenamiento mínima objetivo de la instancia.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_ID: Es el nombre del proyecto en el que reside la instancia principal.
    • INSTANCE_ID: Es el ID de la instancia principal.

    Método HTTP y URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/getDiskShrinkConfig

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    La respuesta incluye un valor para min_target_size_gb. Puedes usar este valor para determinar el valor que deseas usar para el parámetro --storage-size cuando ejecutas una operación de reducción de almacenamiento.

    La respuesta también muestra un mensaje con un tiempo de operación estimado, similar al siguiente:

    ...
    "The estimated operation time is 20 minutes".
    

    REST v1beta4

    Usa el método GET para ver la capacidad de almacenamiento mínima objetivo de la instancia.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_ID: Es el nombre del proyecto en el que reside la instancia principal.
    • INSTANCE_ID: Es el ID de la instancia principal.

    Método HTTP y URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/getDiskShrinkConfig

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    La respuesta incluye un valor para min_target_size_gb. Puedes usar este valor para determinar el valor que deseas usar para el parámetro --storage-size cuando ejecutas una operación de reducción de almacenamiento.

    La respuesta también muestra un mensaje con un tiempo de operación estimado, similar al siguiente:

    ...
    "The estimated operation time is 20 minutes".
    
  2. Reducir la capacidad de almacenamiento de la instancia

    gcloud

    Ejecuta el siguiente comando para reducir el almacenamiento en la instancia:

    gcloud sql instances perform-storage-shrink INSTANCE_NAME \
      --storage-size=TARGET_STORAGE_SIZE --async
    

    Reemplaza lo siguiente:

    • INSTANCE_NAME: El nombre de la instancia.
    • TARGET_STORAGE_SIZE: Es la capacidad de almacenamiento objetivo en GB. Por ejemplo, 100 GB.

    Te recomendamos que uses la marca --async para esperar la operación de forma asíncrona.

    REST v1

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_ID: Es el ID del proyecto en el que reside la instancia.
    • INSTANCE_ID: el ID de la instancia
    • TARGET_STORAGE_SIZE: Es el tamaño de almacenamiento objetivo en GB.

    Método HTTP y URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/performDiskShrink

    Cuerpo JSON de la solicitud:

    {
      "targetSizeGb": TARGET_STORAGE_SIZE
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    REST v1beta4

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_ID: Es el ID del proyecto en el que reside la instancia.
    • INSTANCE_ID: el ID de la instancia
    • TARGET_STORAGE_SIZE: Es el tamaño de almacenamiento objetivo de la instancia.

    Método HTTP y URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/performDiskShrink

    Cuerpo JSON de la solicitud:

    {
      "targetSizeGb": TARGET_STORAGE_SIZE
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

  3. Para verificar el estado de la operación de reducción del almacenamiento, consulta Verifica el estado de una operación.

Cancela la operación de reducción de almacenamiento

  1. Obtén el ID de la operación de reducción del almacenamiento.

    Para recuperar el ID de la operación, ejecuta el siguiente comando list:

    gcloud sql operations list
    
  2. Envía una solicitud de cancelación.

    gcloud

    Ejecuta el siguiente comando para cancelar la solicitud:

    gcloud sql operations cancel OPERATION_ID
    

    Reemplaza lo siguiente:

    OPERATION_ID: Es el ID de la operación de reducción de almacenamiento que deseas cancelar.

    REST v1

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_ID: Es el ID del proyecto en el que reside la instancia.
    • OPERATION_ID: Es el ID de la operación de reducción de almacenamiento que deseas cancelar.

    Método HTTP y URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID/cancel

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.

    REST v1beta4

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_ID: Es el ID del proyecto en el que reside la instancia.
    • OPERATION_ID: Es el ID de la operación de reducción de almacenamiento que deseas cancelar.

    Método HTTP y URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID/cancel

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.

Cómo verificar el estado de una solicitud de cancelación o de otra operación

Para verificar el estado de una solicitud, ejecuta los siguientes comandos:

gcloud

  1. Obtén el ID de operación de la solicitud de cancelación:

    gcloud sql operations list
    
  2. Verifica el estado de la operación:

    gcloud sql operations describe OPERATION_ID
    

    Reemplaza lo siguiente:

    OPERATION_ID: Es el ID de la operación que deseas verificar.

REST v1

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el nombre del proyecto en el que reside la instancia.
  • OPERATION_ID: Es el ID de la operación de reducción del almacenamiento.

Método HTTP y URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

REST v1beta4

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el nombre del proyecto en el que reside la instancia.
  • OPERATION_ID: Es el ID de la operación de reducción del almacenamiento.

Método HTTP y URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Soluciona problemas

Para obtener información sobre la solución de problemas, consulta Problemas para actualizar la capacidad de almacenamiento.

¿Qué sigue?