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 de bases de données Aurora MySQL. 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éplicas en lecture entre régions qui utilisent la journalisation binaire, mais les opérations d’écriture ne sont pas transférées vers la Région AWS source. Ils sont transmis à l’instance de base de données d’enregistreur du cluster de réplicas en lecture des journaux binaires.
Utilisez cette méthode uniquement si vous avez un cas d’utilisation pour écrire dans le réplica en lecture des journaux binaires dans la Région AWS secondaire. Dans le cas contraire, vous risquez de vous retrouver dans un scénario incohérent appelé « split-brain », où 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 plus d’informations, consultez Utilisation du transfert d'écriture dans une base de données globale Amazon Aurora.
À l’aide de la AWS Management Console, cochez la case Activer le transfert d’écriture local sous Transfert d’écriture de réplica en lecture lorsque vous créez ou modifiez un cluster de bases de données.
Pour activer le transfert d’écriture à l’aide de l’interface AWS CLI, utilisez l’option --enable-local-write-forwarding. 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’option --no-enable-local-write-forwarding avec ces mêmes commandes CLI.
L’exemple suivant crée un cluster de bases de données Aurora MySQL 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-version8.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 plus d’informations, consultez Création d’un cluster de bases de données Amazon Aurora.
Pour activer le transfert d’écriture à l’aide de l’API Amazon RDS, définissez le paramètre EnableLocalWriteForwarding sur true. 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_consistencysurEVENTUAL,SESSIONouGLOBAL. 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.