Habilitación del reenvío de escritura local - Amazon Aurora

Habilitación del reenvío de escritura local

De forma predeterminada, el reenvío de escritura local no está habilitado para los clústeres de bases de datos de Aurora MySQL. El reenvío de escritura local se habilita a nivel de clúster, no a nivel de instancia.

importante

También puede habilitar el reenvío de escritura local para las réplicas de lectura entre regiones que utilizan el registro binario, pero las operaciones de escritura no se reenvían a la Región de AWS de origen. Se reenvían a la instancia de base de datos del escritor del clúster de réplicas de lectura de binlog.

Utilice este método solo si tiene un caso de uso que requiera escribir en la réplica de lectura de binlog en la Región de AWS secundaria. De no ser así, podría acabar en una situación de “nodos malinformados” en la que los conjuntos de datos replicados no sean coherentes entre sí.

«Recomendamos utilizar el reenvío de escritura global en las bases de datos globales, en lugar del reenvío de escritura local en las réplicas de lectura entre regiones, a menos que sea absolutamente necesario. Para obtener más información, consulte Uso del reenvío de escritura en una base de datos Amazon Aurora global.

Si usa la AWS Management Console, seleccione la casilla de verificación Activar el reenvío de escritura loca debajo de Reenvío de escritura de réplicas de lectura al crear o modificar un clúster de base de datos.

Para habilitar el reenvío de escritura con la AWS CLI, utilice la opción --enable-local-write-forwarding. Esta opción funciona cuando crea un nuevo clúster de basede datos mediante el comando create-db-cluster. También funciona cuando modifica un clúster de base de datos existente mediante el comando modify-db-cluster. Puede deshabilitar el reenvío de escritura mediante la opción --no-enable-local-write-forwarding con estos mismos comandos de la CLI.

En el siguiente ejemplo se crea un clúster de base de datos de Aurora MySQL con el reenvío de escritura habilitado.

aws rds create-db-cluster \ --db-cluster-identifier write-forwarding-test-cluster \ --enable-local-write-forwarding \ --engine aurora-mysql \ --engine-version 8.0.mysql_aurora.3.04.0 \ --master-username myuser \ --master-user-password mypassword \ --backup-retention 1

A continuación, crea instancias de base de datos del escritor y lector para poder utilizar el reenvío de escritura. Para obtener más información, consulte Creación de un clúster de base de datos de Amazon Aurora.

Para habilitar el reenvío de escritura mediante la API de Amazon RDS, establezca el parámetro EnableLocalWriteForwarding en true. Este parámetro funciona cuando crea un nuevo clúster de base de datos mediante la operación CreateDBCluster. También funciona cuando modifica un clúster de base de datos existente mediante la operación ModifyDBCluster. Puede deshabilitar el reenvío de escritura estableciendo el parámetro EnableLocalWriteForwarding en false.

Habilitación del reenvío de escritura para las sesiones de bases de datos

El parámetro aurora_replica_read_consistency es un parámetro de base de datos y un parámetro de clúster de base de datos que permite el reenvío de escritura. Puede especificar EVENTUAL, SESSION o GLOBAL para el nivel de coherencia de lectura. Para obtener más información sobre los niveles de consistencia, consulte Coherencia de lectura para el reenvío de escritura.

Las siguientes reglas se aplican a este parámetro:

  • El valor predeterminado es '' (null).

  • El reenvío de escritura solo está disponible si establece aurora_replica_read_consistency en EVENTUAL, SESSION o GLOBAL. Este parámetro solo es pertinente en instancias del lector de clústeres de bases de datos que tengan habilitado el reenvío de escritura.

  • No puede establecer este parámetro (cuando está vacío) o desestablecerlo (cuando ya está configurado) dentro de una transacción de múltiples instrucciones. Puede cambiarlo de un valor válido a otro valor válido durante una transacción de este tipo, pero no recomendamos esta acción.