¿Por qué se produjo un reinicio, recuperación o conmutación por error en mi instancia de base de datos de Amazon RDS?

Última actualización: 19/07/2022

Quiero saber cuál es la causa principal del reinicio, la recuperación o la conmutación por error de mi instancia de base de datos de Amazon Relational Database Service (Amazon RDS).

Descripción corta

La instancia de base de datos de Amazon RDS se reinicia automáticamente en las siguientes condiciones:

Cuando la instancia de base de datos muestra posibles problemas y no responde a las comprobaciones de estado de RDS, RDS inicia automáticamente una recuperación en una única zona de disponibilidad (single-AZ) para el despliegue single-AZ y una conmutación por error multi-AZ para el despliegue multi-AZ. A continuación, se reinicia la instancia de base de datos para que pueda reanudar las operaciones de la base de datos lo más rápido posible sin intervención administrativa.

Resolución

Para identificar la causa de la interrupción, consulte los siguientes registros y métricas de la instancia de base de datos de RDS.

Eventos de Amazon RDS

Para identificar la causa raíz de una interrupción no planificada de la instancia, consulte todos los eventos de Amazon RDS de las últimas 24 horas. Todos los eventos se registran en la hora UTC/GMT de forma predeterminada. Para almacenar los eventos durante más tiempo, envíe los eventos de Amazon RDS a Eventos de Amazon CloudWatch. Para obtener más información, consulte Creación de una regla que se desencadena en un evento de Amazon RDS. Cuando la instancia se reinicia, aparece uno de los siguientes mensajes en las notificaciones de eventos de RDS:

  • El cliente modificó la instancia de RDS: este mensaje de evento de RDS indica que la conmutación por error se inició mediante una modificación de la instancia de RDS.
  • Aplicar modificación a la clase de instancia de base de datos: este mensaje de evento de RDS indica que se ha cambiado el tipo de clase de instancia de base de datos.
    • Los despliegues single-AZ dejan de estar disponibles durante unos minutos durante esta operación de escalado.
    • Los despliegues multi-AZ no están disponibles durante el tiempo que tarda la instancia en realizar la conmutación por error. Esta duración suele ser de unos 60 segundos. Esto se debe a que la base de datos en espera se actualiza antes de que la base de datos de nuevo tamaño experimente una conmutación por error. A continuación, se reinicia la base de datos y el motor realiza la recuperación para asegurarse de que la base de datos permanece en un estado constante.
  • El usuario solicitó una conmutación por error de la instancia de base de datos: este mensaje indica que ha iniciado un reinicio de la instancia de base de datos de forma manual mediante la opción Reboot (Reiniciar) o Reboot with failover (Reiniciar con conmutación por error).
  • El host principal de la instancia multi-AZ de RDS no está en buen estado: este motivo indica un problema de hardware subyacente transitorio que provocó la pérdida de comunicación con la instancia primaria. Este problema puede haber hecho que la instancia no esté en buen estado porque el sistema de monitoreo de RDS no se pudo comunicar con la instancia de RDS para hacer las comprobaciones de estado.
  • No se puede acceder al host principal de la instancia multi-AZ de RDS debido a la pérdida de conectividad de red: este motivo indica que la conmutación por error multi-AZ y el reinicio de la instancia de base de datos se debió a un problema de red transitorio que afectó al host principal del despliegue multi-AZ. El sistema de monitoreo interno detectó este problema e inició una conmutación por error.
  • La instancia primaria multi-AZ de RDS está ocupada y no responde, se inició la activación de la instancia multi-AZ o se completó la activación de la instancia multi-AZ: el registro de eventos muestra estos mensajes en las siguientes situaciones:
    • La instancia de base de datos primaria no responde.
    • Una pérdida de memoria de la base de datos después de un uso de memoria excesivo impedía que el sistema de monitoreo de RDS contactara con el host subyacente. Por lo tanto, nuestro sistema de monitoreo reinicia la base de datos como una medida proactiva.
    • La instancia de base de datos experimentó problemas de red intermitentes con el host subyacente.
    • La instancia experimentó una carga de base de datos. En este caso, es posible que observe picos en las métricas de CloudWatch CPUUtilization, DatabaseConnections, IOPS metrics y Throughput details. También es posible que note el agotamiento de la FreeableMemory.
  • Instancia de base de datos con revisiones: este mensaje indica que la instancia de base de datos tuvo una actualización de versión secundaria durante un periodo de mantenimiento porque la configuración Auto minor version upgrade (Actualización automática de versiones secundarias) está habilitada en la instancia.

Métricas de CloudWatch

Consulte las métricas de CloudWatch de su instancia de Amazon RDS para verificar si el problema de carga de la base de datos provocó la interrupción. Para obtener más información, consulte Monitoreo de las métricas de Amazon RDS con Amazon CloudWatch. Compruebe si hay picos en las siguientes métricas clave que indican la disponibilidad y el estado de la instancia de RDS:

  • DatabaseConnections
  • CPUUtilization
  • FreeableMemory
  • WriteIOPS
  • ReadIOPS
  • ReadThroughput
  • WriteThroughput
  • DiskQueueDepth

Enhanced Monitoring

Amazon RDS proporciona métricas de Enhanced Monitoring en su cuenta de registros de Amazon CloudWatch. Esto proporciona métricas en tiempo real del sistema operativo en el que se ejecuta la instancia de base de datos. Puede ver todas las métricas del sistema y la información de procesos de sus instancias de base de datos en la consola.

Puede establecer la pormenorización de la característica de monitoreo mejorado en 1, 5, 10, 15, 30 o 60.

Para activar Enhanced Monitoring para la instancia de Amazon RDS, consulte Configuración y activación de Enhanced Monitoring.

Información sobre rendimiento

El panel Performance Insights (Información sobre rendimiento) contiene información relacionada con el rendimiento de la base de datos que puede ayudarlo a analizar y solucionar problemas de rendimiento. También puede identificar consultas y eventos de espera que consumen recursos excesivos en la instancia de base de datos. Performance Insights (Información sobre rendimiento) recopila datos a nivel de base de datos y los muestra en el panel Performance Insights. Para obtener más información, consulte Monitoreo de la carga de la base de datos con Performance Insights (Información sobre rendimiento) en Amazon RDS. Cuando se genera un aumento en el uso de recursos desde el lado de la aplicación, utilice Support SQL ID (ID de SQL de soporte) en el panel Performance Insights (Información sobre rendimiento) y busque coincidencias con la consulta correspondiente. Se recomienda utilizar esta información para ajustar el rendimiento de la consulta y optimizar la carga de trabajo con la guía de su DBA:

  1. Abra la consola de Amazon RDS.
  2. En el panel de navegación, elija Performance Insights (Información sobre rendimiento).
  3. En la página Performance Insights (Información sobre rendimiento), seleccione su instancia de base de datos. Puede ver el panel Performance Insights (Información sobre rendimiento) de esta instancia de base de datos.
  4. Seleccione el periodo en que se produjo el problema.
  5. Elija la pestaña Top SQL (SQL más altas).
  6. Seleccione el icono de configuración y, a continuación, active Support ID (ID de asistencia).
  7. Elija Save (Guardar).

Registros de bases de datos de RDS

Para solucionar la causa de la interrupción de la instancia de base de datos de Amazon RDS, puede ver, descargar u observar los archivos de registro de la base de datos mediante la consola de Amazon RDS o las operaciones de la API de Amazon RDS. También puede consultar los archivos de registro de base de datos que se cargan en las tablas de base de datos. Para obtener más información, consulte Monitoreo de archivos de registro de Amazon RDS.

Tenga en cuenta las siguientes prácticas recomendadas cuando aborde las interrupciones de las instancias de RDS:

  • Habilite Multi-AZ deployment (Despliegue multi-AZ) en su instancia para reducir el tiempo de inactividad durante una interrupción. Con un despliegue multi-AZ, RDS aprovisionará y mantendrá automáticamente una réplica en espera síncrona en una zona de disponibilidad distinta o dos réplicas en espera legibles. Para obtener más información, consulte Amazon RDS Multi-AZ.
  • Ajuste el periodo de mantenimiento de la instancia de base de datos según sus preferencias. La instancia de base de datos no está disponible durante este periodo solo si los cambios del sistema, como un cambio en la clase de instancia de base de datos, se están aplicando y requieren una interrupción, y solo durante el periodo mínimo necesario para realizar los cambios. Para obtener más información, consulte Mantenimiento de una instancia de base de datos. Si no quiere que sus instancias tengan actualizaciones automáticas de versiones secundarias, puede desactivar esta opción. Para obtener más información, consulte Actualización automática de la versión secundaria del motor.
  • Asegúrese de tener suficientes recursos asignados a la base de datos para ejecutar consultas. Con Amazon RDS, la cantidad de recursos asignados depende del tipo de instancia. Además, ciertas consultas, como los procedimientos almacenados, pueden ocupar una cantidad ilimitada de memoria. Por lo tanto, si la instancia se reinicia con frecuencia debido a la falta de recursos, considere ampliar laclase de instancia de la base de datos para mantenerse al día con las crecientes demandas de sus aplicaciones.
  • Para evitar la limitación de instancias, configure las alarmas de Amazon CloudWatch en métricas clave de RDS que indiquen la disponibilidad y el estado de sus instancias de RDS. Por ejemplo, puede configurar una alarma de CloudWatch en la métrica FreeableMemory para recibir una notificación cuando la memoria disponible alcance el 95 %. Se recomienda mantener libre al menos el 5 % de la memoria de la instancia. Para obtener más información, consulte ¿Cómo puedo filtrar los registros de Enhanced Monitoring CloudWatch para generar métricas personalizadas automatizadas para Amazon RDS?
  • Para recibir notificaciones cada vez que se produzca una conmutación por error en la instancia de RDS, suscríbase a las notificaciones de eventos de Amazon RDS. Para obtener más información, consulte ¿Cómo creo una suscripción a un evento de Amazon RDS?
  • Para optimizar el rendimiento de la base de datos, asegúrese de que las consultas estén correctamente ajustadas. De lo contrario, podría experimentar problemas de rendimiento y tiempos de espera prolongados.
  • Para solucionar cualquier tipo de carga en términos de consumo de CPU, memoria o cualquier otro recurso, consulte ¿Cómo puedo solucionar problemas de uso elevado de CPU para Amazon RDS o Amazon Aurora PostgreSQL?