Gestionar las actualizaciones de mantenimiento de AlloyDB con un clúster de staging

Para minimizar los riesgos en tus cargas de trabajo de producción de AlloyDB para PostgreSQL, puedes usar un clúster de staging para probar nuevas funciones, rendimiento y funcionalidades antes de aplicar actualizaciones a tus sistemas de producción. Un clúster de staging es una copia de tu clúster de producción que añade una capa de control al proceso de actualización de mantenimiento. Si usas un clúster de staging para probar las actualizaciones de mantenimiento, podrás identificar y solucionar posibles problemas en un entorno que no sea de producción. Este enfoque reduce el riesgo de que se produzcan tiempos de inactividad y degradación del rendimiento en los sistemas de producción.

Las actualizaciones de mantenimiento de AlloyDB son periódicas, a menudo mensuales. Las actualizaciones incluyen nuevas funciones, correcciones de errores, mejoras de compatibilidad con bases de datos y correcciones relacionadas con la seguridad. Aunque las versiones de AlloyDB son compatibles con versiones posteriores, te recomendamos que pruebes las nuevas versiones en un entorno de staging para asegurarte de que la base de datos sea estable y predecible para las aplicaciones críticas de tu clúster de producción.

Para usar un clúster de staging, sigue estos pasos generales:

  1. Configura un clúster de staging.
  2. Configura una ventana de mantenimiento en un clúster de producción.
  3. Gestiona las actualizaciones del clúster de staging.
  4. Gestionar las actualizaciones de clústeres de producción.

Este enfoque de validación de la fase de pruebas para el mantenimiento de AlloyDB asegura que tu entorno de producción siga siendo estable, eficiente y seguro mientras se beneficia de las últimas funciones y parches de AlloyDB.

En el siguiente diagrama se muestra la relación entre el clúster de staging y el clúster de producción, así como el flujo operativo del proceso de actualización:

Relación entre los clústeres de producción y de staging

Para obtener más información sobre cómo funcionan las actualizaciones de mantenimiento con los clústeres de AlloyDB, consulta la descripción general del mantenimiento. Para obtener más información sobre cómo gestionar las ventanas de mantenimiento, consulta Gestionar ventanas de mantenimiento de clústeres de AlloyDB para PostgreSQL.

Antes de empezar

El Google Cloud proyecto que utilices debe tener habilitado el acceso a AlloyDB.

Para configurar un clúster de staging, debes crear o tener un clúster de producción de AlloyDB. Para obtener más información, consulta Crear un clúster y su instancia principal.

Debes tener uno de los siguientes roles de gestión de identidades y accesos en el Google Cloud proyecto que estés usando:

  • roles/alloydb.admin: el rol de administrador de AlloyDB predefinido de IAM
  • roles/owner: el rol básico de propietario de gestión de identidades y accesos
  • roles/editor: el rol básico de gestión de identidades y accesos Editor

Si no tienes ninguno de estos roles, ponte en contacto con el administrador de tu organización para solicitar acceso.

Configurar un clúster de staging

La clave para que una estrategia de staging sea eficaz es asegurarse de que el clúster de staging sea similar al entorno de producción y de que reciba las actualizaciones antes que el entorno de producción. Configuras una estrategia de puesta en producción primero cuando no defines una ventana de mantenimiento en tu clúster de staging. AlloyDB actualiza primero los clústeres sin ventanas de mantenimiento.

Crear un clúster de staging a partir de una copia de seguridad de producción

Despliega un clúster de staging que refleje tu entorno de producción y asegúrate de que tenga la misma versión, configuración y datos de AlloyDB que tu clúster de producción.

Para asegurarse de que su clúster de staging sea idéntico a su entorno de producción, use el comando restore para clonar su base de datos de producción en su clúster de staging y para asegurarse de que los datos y la configuración sean similares. También te recomendamos que separes los entornos de staging y producción en proyectos diferentes.

Puede usar los dos métodos siguientes para crear una copia de seguridad de producción:

  • Crea un nuevo clúster de staging realizando una restauración completa de una copia de seguridad de un clúster de producción. Este método no implica la recuperación de una base de datos. Sin embargo, en función de la programación de la copia de seguridad, los datos pueden tener hasta 24 horas. Para usar este método, consulta Restaurar un clúster a partir de una copia de seguridad almacenada.
  • Crea un nuevo clúster de staging realizando una recuperación a un momento dado (PITR) a una hora específica de una copia de seguridad de una base de datos de producción, incluida la hora más reciente. Con esta opción, obtienes los datos más recientes y el método es más sencillo. Sin embargo, en función de la última hora de la copia de seguridad de PITR, puede que se tarde más en restaurar o recuperar los datos hasta la hora que especifiques. Para usar este método, consulta Usar recuperación a un momento dado (PITR).

Verifica que no se haya definido ninguna ventana de mantenimiento en el clúster de staging

No definas una ventana de mantenimiento para tu clúster de staging. De forma predeterminada, los clústeres de AlloyDB recién creados, incluso los que restauras a partir de una copia de seguridad, no tienen ninguna ventana de mantenimiento configurada. Este es el estado correcto de tu entorno de pruebas. AlloyDB actualiza los clústeres que no tienen ventanas de mantenimiento programadas antes de actualizar los clústeres que sí las tienen.

Para comprobar que no hay ninguna ventana de mantenimiento definida, sigue estos pasos:

Consola

  1. Ve a la página Clústeres.

    Ir a Clústeres

  2. Haga clic en un clúster de la columna Nombre del recurso. Se abrirá la página Información general.

  3. En la página Descripción general, en la sección Mantenimiento, consulta los detalles de la ventana de mantenimiento de tu clúster.

  4. Opcional: En la página Información valiosa del sistema, puedes ver los detalles del estado de la operación de mantenimiento, como la cronología de eventos.

  5. Para ver la gestión de Mantenimiento unificado, introduce "Mantenimiento de Cloud Hub" en la barra de búsqueda y selecciona Mantenimiento. En esta página, puedes ver un resumen del mantenimiento, el mantenimiento controlado por Google y los detalles del mantenimiento programado.

gcloud

  1. Para usar la CLI de gcloud, puedes instalar e inicializar Google Cloud CLI o usar Cloud Shell.

    gcloud alloydb clusters describe STAGING_CLUSTER_ID \
        --region=LOCATION_ID \
        --project=PROJECT_ID
  2. Busca el campo maintenanceSchedule en los resultados. Si no se ha definido ninguna ventana de mantenimiento, este campo no aparece o está vacío. Si, por cualquier motivo, se ha definido una ventana de mantenimiento, bórrala.

    gcloud alloydb clusters update STAGING_CLUSTER_ID \
        --region=LOCATION_ID \
        --clear-maintenance-window \
        --project=PROJECT_ID

Configurar una ventana de mantenimiento en un clúster de producción

Es importante que programes una ventana de mantenimiento para tu clúster de producción. De esta forma, puedes controlar cuándo se producen las actualizaciones y adaptarlas a los periodos de poco tráfico de tu empresa.

Definir una ventana de mantenimiento en el clúster de producción

Programa una ventana de mantenimiento para tu clúster de producción. Elige un día y una hora en los que tu sistema de producción tenga la carga más baja. El tiempo total necesario para un evento de mantenimiento puede variar.

AlloyDB retrasa automáticamente las actualizaciones de tu clúster de producción al menos una semana después de actualizar tu clúster de staging. Si detectas problemas después de que se actualice el clúster de staging, puedes rechazar las actualizaciones de mantenimiento de producción durante un máximo de 30 días y colaborar con el Google Cloud equipo de Asistencia para resolverlos.

Define una ventana de mantenimiento en tu clúster de producción de la siguiente manera:

Consola

  1. Ve a la página Clústeres.

    Ir a Clústeres

  2. Haga clic en un clúster de la columna Nombre del recurso.

  3. En la página Descripción general, en la sección Mantenimiento, haz clic en Editar. Se abrirá una ventana de configuración.

  4. En la sección Ventana de mantenimiento preferida, selecciona el día de la semana de esta ventana de mantenimiento. La opción predeterminada es "Cualquier ventana".

    Cuando creas un clúster, AlloyDB le asigna esta ventana de mantenimiento predeterminada.

  5. Si seleccionas un día para las actualizaciones de mantenimiento, elige la hora del día para la ventana de mantenimiento.

  6. Haz clic en Actualizar para guardar los cambios.

gcloud

Para usar la CLI de gcloud, puedes instalar e inicializar Google Cloud CLI o usar Cloud Shell.

Para obtener los detalles de configuración de un clúster de AlloyDB, ejecuta el siguiente comando con gcloud alloydb clusters update:

gcloud alloydb clusters update PRODUCTION_CLUSTER_ID \
    --region=LOCATION_ID \
    --maintenance-window-day=DAY_OF_WEEK \
    --maintenance-window-hour=HOUR_OF_DAY \
    --project=PROJECT_ID

Haz las siguientes sustituciones:

  • PRODUCTION_CLUSTER_ID: el ID de tu clúster de producción.
  • LOCATION_ID: la Google Cloud región.
  • DAY_OF_WEEK: el día preferido para el mantenimiento, como SUNDAY.
  • HOUR_OF_DAY: la hora preferida para el mantenimiento en UTC (0-23).

    En el siguiente ejemplo se muestra cómo definir la ventana de mantenimiento para los domingos a las 2:00 UTC:

    gcloud alloydb clusters update my-prod-cluster \
        --region=us-central1 \
        --maintenance-window-day=SUNDAY \
        --maintenance-window-hour=2 \
        --project=my-production-project

Verificar la ventana de mantenimiento en el clúster de producción

Para confirmar que la ventana de mantenimiento está configurada para tu clúster de producción, ejecuta el comando gcloud alloydb clusters describe:

gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--project=PROJECT_ID

El resultado devuelve el campo maintenanceSchedule con el día y la hora de mantenimiento especificados.

Habilitar las notificaciones de mantenimiento

Te recomendamos que habilites las notificaciones sobre los eventos de mantenimiento programados de tu clúster de producción. Las notificaciones te ayudan a planificar cuándo empezar las pruebas.

Para habilitar las notificaciones de mantenimiento, sigue estos pasos:

  1. Ve a la página Clústeres.

    Ir a Clústeres

  2. Haga clic en un clúster de la columna Nombre del recurso. Se abrirá la página Información general.

  3. En la página Información general, vaya a la sección Mantenimiento y haga clic en Mostrar detalles para desplegarla. A continuación, haz clic en Editar en la fila Notificaciones. Se abrirá la página Comunicación.

  4. En la página Comunicación, seleccione la pestaña Comunicaciones de productos.

  5. En la fila de AlloyDB, en la columna Correo electrónico, activa el botón de notificación Activado.

Después de configurar el periodo de mantenimiento de tu clúster de producción, AlloyDB lo actualizará al menos siete días después de la actualización de tu clúster de staging. Si decides recibir notificaciones, recibirás un correo en el que se te informará de que se ha programado una actualización de mantenimiento para tu clúster de producción.

Actualizaciones de clústeres de staging

Usa tu entorno de staging para validar la próxima actualización de producción.

Comprobar el estado previo a la actualización

Como tu clúster de staging no tiene ninguna ventana de mantenimiento, es uno de los primeros clústeres en recibir la actualización. Sin embargo, AlloyDB no envía notificaciones de los clústeres que no están configurados con la ventana de mantenimiento. Aun así, puedes monitorizar cuándo se producen las actualizaciones de mantenimiento con el Explorador de registros de la consola de Google Cloud .

  1. En la Google Cloud consola, ve a la página Explorador de registros:

    Ir al Explorador de registros

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado con el subtítulo Registro.

  2. Selecciona Todos los recursos, elige tu clúster de staging y haz clic en Aplicar.

  3. Selecciona Todos los nombres de registro, maintenance_events y Aplicar.

  4. En el panel Cronología, selecciona el periodo durante el que tu clúster de staging recibirá actualizaciones.

Realizar la verificación funcional después de la actualización

Una vez que AlloyDB actualice el clúster de staging, realiza pruebas funcionales para confirmar que las actualizaciones son seguras y adecuadas para aplicarlas a tu entorno de producción.

Realizar la verificación del rendimiento después de la actualización

Verifica tu clúster de staging cuando termine la actualización de mantenimiento. Evalúa el impacto en el rendimiento de tu base de datos después de las actualizaciones del clúster de staging. Realiza pruebas funcionales y de rendimiento exhaustivas para asegurarte de que tus aplicaciones se comportan según lo previsto y cumplen los acuerdos de nivel de servicio de rendimiento.

Para garantizar la estabilidad y el funcionamiento óptimo, haz lo siguiente:

  • Comparar las métricas clave con las métricas de referencia anteriores a la actualización.
  • Realiza pruebas de carga para identificar regresiones.
  • Analizar el rendimiento de las consultas.
  • Monitoriza la utilización de recursos.

Tomar medidas en función de los resultados de la verificación

Revisa los resultados de la verificación y lleva a cabo las siguientes acciones en función de ellos:

  • La verificación se realiza correctamente: si las pruebas funcionales y de rendimiento en el clúster de staging se completan correctamente, significa que el entorno de staging no tiene errores y que puedes dejar que el mantenimiento de producción se lleve a cabo según lo programado en su ventana programada. Prepárate para la actualización de producción e informa a las partes interesadas pertinentes.
  • La verificación falla: si las pruebas funcionales y de rendimiento en el clúster de preproducción fallan y se producen errores funcionales, degradaciones del rendimiento o un comportamiento inesperado en el entorno de preproducción después de la actualización de mantenimiento, debes rechazar el mantenimiento de producción.

Rechazar un evento de mantenimiento programado

Para rechazar un evento de mantenimiento programado de tu clúster de producción, debes definir la fecha de inicio, la fecha de finalización y la hora del día en que empieza y termina el intervalo.

Las fechas de inicio y finalización deben tener el siguiente formato: YYYY-MM-DD. La fecha de inicio, la fecha de finalización y la hora se indican en la zona horaria UTC.

Para usar la CLI de gcloud, puedes instalar e inicializar Google Cloud CLI o usar Cloud Shell.

Para añadir un periodo de mantenimiento denegado a un clúster de AlloyDB, sigue estos pasos:

  1. Ejecuta el comando gcloud alloydb clusters update con las marcas deny-maintenance-period-start-date, deny-maintenance-period-end-date y deny-maintenance-period-time:

    gcloud alloydb clusters update CLUSTER_ID \
        --region LOCATION_ID \
        --deny-maintenance-period-start-date START_DATE \
        --deny-maintenance-period-end-date END_DATE \
        --deny-maintenance-period-time TIME
  2. Haz los cambios siguientes:

    • CLUSTER_ID: el clúster que se va a configurar para el periodo sin mantenimiento.
    • LOCATION_ID: la región Google Cloud en la que se encuentra este clúster. Por ejemplo, us-central1.
    • START_DATE: fecha de inicio del periodo sin mantenimiento en formato YYYY-MM-DD UTC.
    • END_DATE: el final del periodo sin mantenimiento en formato YYYY-MM-DD UTC.
    • TIME: la hora del periodo sin mantenimiento en formato HH:MM UTC. Las horas se representan en formato de 24 horas, donde los valores van de 00:00 a 23:59 (por ejemplo, 16:45).
  3. Documenta todos los problemas, incluidos los mensajes de error, las métricas de rendimiento y los pasos para reproducirlos.

  4. Abre un caso de asistencia de alta prioridad con Google Cloud y proporciona todos los problemas documentados. Google Cloud trabajará contigo para analizar y resolver los problemas.

Actualizaciones de clústeres de producción

Si la verificación de la fase de pruebas se realiza correctamente y permites que se lleve a cabo el mantenimiento de producción, las actualizaciones se producirán durante la ventana de mantenimiento programada.

Verificar la ventana de mantenimiento

Para monitorizar los próximos eventos de mantenimiento de tu clúster de producción, sigue estos pasos:

Consola

  1. Ve a la página Clústeres.

    Ir a Clústeres

  2. Haga clic en un clúster de la columna Nombre del recurso. Se abrirá la página Información general.

  3. En la página Descripción general, en la sección Mantenimiento, consulta los detalles de la ventana de mantenimiento de tu clúster.

  4. Opcional: En la página Información valiosa del sistema, puedes ver los detalles del estado de la operación de mantenimiento, como la cronología de eventos.

  5. Para ver la gestión de Mantenimiento unificado, introduce "Mantenimiento de Cloud Hub" en la barra de búsqueda y selecciona Mantenimiento. En esta página, puedes ver un resumen del mantenimiento, el mantenimiento controlado por Google y los detalles del mantenimiento programado.

gcloud

Para usar la CLI de gcloud, puedes instalar e inicializar Google Cloud CLI o usar Cloud Shell.

Ejecuta lo siguiente con gcloud alloydb clusters describe:

gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
    --region=LOCATION_ID \
    --project=PROJECT_ID

Si se ha programado un evento de mantenimiento, el resultado incluye maintenanceSchedule y un startTime. Si has elegido recibir notificaciones, también recibirás notificaciones por correo electrónico.

Monitorizar la producción durante una ventana de mantenimiento

Aunque Google Cloud automatiza el proceso de mantenimiento, te recomendamos que monitorices tu entorno de producción para comprobar lo siguiente durante la ventana de mantenimiento programada:

  • Estado de la aplicación: monitoriza los registros de la aplicación y las comprobaciones del estado para detectar cualquier signo de interrupción.
  • Conectividad de la base de datos: comprueba que tus aplicaciones puedan volver a conectarse a la base de datos después de la interrupción.
  • Métricas de AlloyDB: usa Google Cloud Monitoring para observar las métricas de AlloyDB (CPU, memoria, conexiones y latencia de replicación) y asegúrate de que vuelvan a los niveles esperados después de la actualización.

Verificación de la actualización posterior al mantenimiento

Una vez que se haya completado la actualización de mantenimiento, verifique que el entorno de producción tenga las funciones y los indicadores de rendimiento críticos.

  • Funciones clave de la aplicación: ejecuta una prueba de humo de las funciones más importantes de tu aplicación.
  • Comprobaciones básicas del rendimiento: revisa los paneles de control para detectar picos de latencia o consumo de recursos.