¿Cómo puedo solucionar los problemas habituales cuando uso réplicas de lectura en Aurora?

5 minutos de lectura
0

Tengo una instancia de base de datos de la edición compatible con Amazon Aurora MySQL y tengo problemas cuando uso réplicas de lectura. Quiero solucionar esos problemas.

Solución

Promoción de una réplica de lectura de Aurora

Para promover otra instancia de réplica de lectura como instancia de escritura, realice una conmutación por error manual.

Siga estos pasos:

  1. Abra la consola de Amazon Relational Database Service (Amazon RDS).
  2. En el panel de navegación, seleccione Bases de datos.
  3. Elija la instancia de escritor para su clúster de base de datos de Aurora.
  4. Elija Acciones y, a continuación, Conmutación por error.

Aurora conmuta por error automáticamente a una instancia de réplica de lectura si la instancia de escritor deja de estar disponible. Hay varios motivos por los que una instancia de escritor puede dejar de estar disponible, como la contención de recursos y la actividad de mantenimiento.

Si tiene varios lectores, puede especificar un nivel de prioridad de promoción para cada instancia en su clúster. Cuando se produce un error en la instancia de escritor, Aurora promociona la réplica con la máxima prioridad como nuevo escritor.

También puede promocionar una réplica de Aurora entre regiones de AWS como clúster de base de datos independiente. La replicación entre regiones se detiene cuando se inicia el proceso de promoción. El clúster recién promocionado funciona como clúster de base de datos independiente y gestiona tanto las operaciones de lectura como las de escritura.

Medición del retraso en la replicación

Dado que todas las instancias de base de datos de Aurora en un clúster de base de datos comparten un volumen de datos común, el retraso en la replicación es mínimo. Sin embargo, en algunos casos es posible que observe un retraso ligeramente mayor en los lectores.

Nota: Las réplicas entre regiones utilizan la replicación lógica. Las velocidades de modificación y aplicación, así como los retrasos en la comunicación de red entre las regiones seleccionadas pueden afectar a las réplicas entre regiones. Las réplicas entre regiones que utilizan bases de datos de Aurora suelen tener un retraso de menos de un segundo.

Utilice las siguientes métricas de Amazon CloudWatch para medir el retraso en la replicación:

  • AuroraReplicaLag mide el retraso de la réplica entre el nodo escritor y el lector en la misma región en milisegundos.
  • AuroraBinlogReplicaLag mide el retraso de la réplica entre los clústeres de base de datos de Aurora que utilizan registros binarios.

Mejora del rendimiento de la replicación

Para mejorar el retraso en la replicación, tome las siguientes medidas:

  • Si la instancia del lector es más pequeña que la del escritor, es posible que el volumen de cambios sea excesivo para que el lector pueda seguir el ritmo. Para evitar cargas de trabajo pesadas en las instancias del lector, se recomienda que todas las instancias de un clúster tengan el mismo tamaño.
    Nota: Si la instancia del escritor soporta una gran carga, es posible que observe un retraso temporal de la réplica de lectura. El retraso se reduce cuando la instancia del lector alcanza a la instancia del escritor.
  • Si hay transacciones de larga duración en curso, es posible que se produzca un retraso de la réplica en los lectores. Para evitar el retraso de la réplica, ejecute las transacciones en lotes más pequeños y confírmelas con frecuencia.

Para obtener información sobre cómo usar la replicación nativa de MySQL basada en registros binarios y solucionar el retraso de las réplicas, consulte Información general de copias de seguridad y restauración de un clúster de base de datos Aurora.

Solución de problemas por un retraso elevado en la replicación

Utilice la métrica AuroraReplicaLag de CloudWatch para comprobar si el retraso en la replicación es elevado. Un retraso elevado en la replicación puede provocar el reinicio de una instancia de lector. Para evitar que la instancia del lector se reinicie con frecuencia debido a un retraso elevado en la replicación, consulte ¿Por qué la réplica de lectura de mi Amazon Aurora se ha retrasado y se ha reiniciado?

Configuración de la replicación basada en GTID

Aurora no utiliza la replicación nativa basada en registros binarios para replicar datos con el fin de leer las instancias de réplica. No puede usar identificadores de transacciones globales (GTID) para replicar datos entre instancias en el mismo clúster. Sin embargo, puede configurar la replicación basada en GTID en ciertos escenarios. Para obtener más información sobre cómo usar la replicación basada en GTID de forma compatible con Aurora MySQL, consulte Amazon Aurora for MySQL compatibility now supports global transaction identifiers (GTIDs) replication.

Nota: Puede configurar la replicación basada en GTID entre un clúster de Amazon RDS para MySQL y un clúster de Aurora, así como entre clústeres de Aurora. La fuente debe ser un maestro externo. Asegúrese de habilitar los registros binarios en el origen antes de iniciar el proceso de replicación.

Para obtener más información sobre los GTID, consulte GTID format and storage en el sitio web de MySQL.

Información relacionada

Reproducción de clústeres de base de datos de Amazon Aurora MySQL en Regiones de AWS

Replicación con Amazon Aurora

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 9 meses