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-forwarding
option. 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-forwarding
option 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-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 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
surEVENTUAL
,SESSION
ouGLOBAL
. 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.