Activation du transfert d'écriture local - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Activation du transfert d'écriture local

Par défaut, le transfert d'écriture local n'est pas activé pour les clusters Aurora My SQL DB. Vous activez le transfert d'écriture local au niveau du cluster, et non au niveau de l'instance.

Important

Vous pouvez également activer le transfert d'écriture local pour les répliques de lecture interrégionales qui utilisent la journalisation binaire, mais les opérations d'écriture ne sont pas transmises à la source Région AWS. Ils sont transmis à l'instance de base de données Writer du cluster de répliques de lecture binlog.

Utilisez cette méthode uniquement si vous avez un cas d'utilisation pour écrire dans le binlog, lire la réplique dans le secondaire. Région AWS. Sinon, vous risquez de vous retrouver dans un scénario de « cerveau divisé » dans lequel les ensembles de données répliqués ne sont pas cohérents les uns avec les autres.

Nous vous recommandons d'utiliser le transfert d'écriture global avec les bases de données globales à la place du transfert d'écriture local pour les réplicas en lecture entre régions, sauf en cas de nécessité absolue. Pour de plus amples informations, veuillez consulter Utilisation du transfert d'écriture dans une base de données globale Amazon Aurora.

Utilisation de AWS Management Console, cochez la case Activer le transfert d'écriture local sous Lire le transfert d'écriture répliqué lorsque vous créez ou modifiez un cluster de base de données.

Pour activer le transfert d'écriture à l'aide du AWS CLI, utilisez l'--enable-local-write-forwardingoption. Cette option est utile lorsque vous créez un nouveau cluster de bases de données à l'aide de la commande create-db-cluster. Elle est également utile lorsque vous modifiez un cluster de bases de données existant à l'aide de la commande modify-db-cluster. Vous pouvez désactiver le transfert d'écriture en utilisant l'--no-enable-local-write-forwardingoption avec ces mêmes CLI commandes.

L'exemple suivant crée un cluster Aurora My SQL DB avec le transfert d'écriture activé.

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

Vous créez ensuite des instances de base de données d'enregistreur et de lecteur afin de pouvoir utiliser le transfert d'écriture. Pour de plus amples informations, veuillez consulter Création d'un cluster de base de données Amazon Aurora.

Pour activer le transfert d'écriture à l'aide d'Amazon RDSAPI, définissez le EnableLocalWriteForwarding paramètre surtrue. Ce paramètre agit lorsque vous créez un nouveau cluster de bases de données à l'aide de l'opération CreateDBCluster. Il agit également lorsque vous modifiez un cluster de bases de données existant à l'aide de l'opération ModifyDBCluster. Vous pouvez désactiver le transfert d'écriture en définissant le paramètre EnableLocalWriteForwarding sur false.

Activation du transfert d'écriture pour les sessions de base de données

Le paramètre aurora_replica_read_consistency est un paramètre de base de données et un paramètre de cluster de bases de données qui permet le transfert d'écriture. Vous pouvez spécifier EVENTUAL, SESSION ou GLOBAL pour le niveau de cohérence de lecture. Pour en savoir plus sur les niveaux de cohérence, consultez la section Cohérence de lecture pour le transfert d'écriture.

Les règles suivantes s'appliquent à ce paramètre :

  • La valeur par défaut est '' (null).

  • Le transfert d'écriture est disponible seulement si vous définissez aurora_replica_read_consistency sur EVENTUALSESSION ou GLOBAL. Ce paramètre n'est pertinent que dans les instances de lecteur de clusters de bases de données dont le transfert d'écriture est activé.

  • Vous ne pouvez pas définir ce paramètre (lorsqu'il est vide) ni le désactiver (lorsqu'il est déjà défini) dans une transaction à plusieurs instructions. Vous pouvez le modifier en remplaçant une valeur valide par une autre au cours d'une telle transaction, mais nous ne recommandons pas cette action.