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.
Comment fonctionne Amazon MSK Replicator
Pour commencer à utiliser MSK Replicator, vous devez créer un nouveau réplicateur dans la région de AWS votre cluster cible. MSKReplicator copie automatiquement toutes les données du cluster de la AWS région principale appelée source vers le cluster de la région de destination appelée cible. Les clusters source et cible peuvent se trouver dans la même région ou dans des AWS régions différentes. Vous devez créer le cluster cible s'il n'existe pas déjà.
Lorsque vous créez un réplicateur, celui-ci déploie toutes les ressources requises dans la AWS région du cluster cible afin d'optimiser la latence de MSK réplication des données. La latence de réplication varie en fonction de nombreux facteurs, notamment la distance réseau entre AWS les régions de vos MSK clusters, la capacité de débit de vos clusters source et cible, et le nombre de partitions sur vos clusters source et cible. MSKReplicator adapte automatiquement les ressources sous-jacentes afin que vous puissiez répliquer les données à la demande sans avoir à surveiller ou à augmenter la capacité.
Réplication des données
Par défaut, MSK Replicator copie toutes les données de manière asynchrone depuis le dernier décalage des partitions thématiques du cluster source vers le cluster cible. Si le paramètre « Détecter et copier les nouveaux sujets » est activé, MSK Replicator détecte et copie automatiquement les nouveaux sujets ou partitions de sujets dans le cluster cible. Cependant, le réplicateur peut prendre jusqu'à 30 secondes pour détecter et créer les nouveaux sujets ou partitions de sujets sur le cluster cible. Les messages envoyés au sujet source avant sa création sur le cluster cible ne seront pas répliqués. Vous pouvez également configurer votre réplicateur lors de la création pour démarrer la réplication à partir du premier décalage dans les partitions des rubriques du cluster source si vous souhaitez répliquer les messages existants sur vos sujets vers le cluster cible.
MSKReplicator ne stocke pas vos données. Les données sont consommées à partir de votre cluster source, mises en mémoire tampon et écrites dans le cluster cible. La mémoire tampon est automatiquement effacée lorsque les données sont écrites avec succès ou échouent après de nouvelles tentatives. Toutes les communications et les données entre MSK Replicator et vos clusters sont toujours chiffrées en transit. Tous les API appels MSK du Replicator tels que DescribeClusterV2
CreateTopic
, DescribeTopicDynamicConfiguration
sont capturés dans AWS CloudTrail. Les journaux de vos MSK courtiers refléteront également la même chose.
MSKReplicator crée des sujets dans le cluster cible avec un facteur de réplication de 3. Si nécessaire, vous pouvez modifier le facteur de réplication directement sur le cluster cible.
Réplication des métadonnées
MSKReplicator prend également en charge la copie des métadonnées du cluster source vers le cluster cible. Les métadonnées incluent la configuration des rubriques, les listes de contrôle d'accès (ACLs) et les décalages des groupes de consommateurs. Tout comme la réplication des données, la réplication des métadonnées s'effectue également de manière asynchrone. Pour de meilleures performances, MSK Replicator donne la priorité à la réplication des données plutôt qu'à la réplication des métadonnées.
Le tableau suivant répertorie les listes de contrôle d'accès (ACLs) copiées par MSK Replicator.
Opération | Recherche | APIsautorisé |
---|---|---|
Alter |
Rubrique |
CreatePartitions |
AlterConfigs |
Rubrique |
AlterConfigs |
Création |
Rubrique |
CreateTopics, Métadonnées |
Suppression |
Rubrique |
DeleteRecords, DeleteTopics |
Describe |
Rubrique |
ListOffsets, Métadonnées OffsetFetch, OffsetForLeaderEpoch |
DescribeConfigs |
Rubrique |
DescribeConfigs |
Lecture |
Rubrique |
Récupérez, OffsetCommit TxnOffsetCommit |
Écrire (refuser uniquement) |
Rubrique |
Produire, AddPartitionsToTxn |
MSKLe réplicateur copie LITERAL le type de modèle ACLs uniquement pour le type de ressource Topic. PREFIXEDle type de modèle ACLs et les autres types de ressources ne ACLs sont pas copiés. MSKReplicator ne supprime pas non plus ACLs le cluster cible. Si vous supprimez un ACL sur le cluster source, vous devez également le supprimer sur le cluster cible en même temps. Pour plus de détails sur les ACLs ressources, le modèle et les opérations de Kafka, consultez https://kafka.apache.org/documentation/#security_authz_cli
MSKReplicator ne réplique que KafkaACLs, que le contrôle d'IAMaccès n'utilise pas. Si vos clients utilisent le contrôle IAM d'accès pour lire/écrire sur vos MSK clusters, vous devez également configurer les IAM politiques pertinentes sur votre cluster cible pour un basculement fluide. Cela est également vrai pour les configurations de réplication avec préfixe et pour les configurations de réplication de noms de rubrique identiques.
Dans le cadre de la synchronisation des offsets des groupes de consommateurs, MSK Replicator optimise la lecture pour les clients du cluster source qui lisent à une position plus proche de la pointe du flux (fin de la partition thématique). Si vos groupes de consommateurs sont en retard sur le cluster source, vous constaterez peut-être un retard plus important pour ces groupes de consommateurs sur le cluster cible par rapport à la source. Cela signifie qu'après le basculement vers le cluster cible, vos clients retraiteront un plus grand nombre de messages dupliqués. Pour réduire ce décalage, vos clients du cluster source devraient rattraper leur retard et commencer à consommer dès le début du stream (fin de la partition thématique). Au fur et à mesure que vos clients rattrapent leur retard, MSK Replicator réduira automatiquement le décalage.
Configuration du nom du sujet
MSKReplicator dispose de deux modes de configuration des noms de rubrique : Réplication préfixée (par défaut) ou Réplication de nom de rubrique identique.
Réplication du nom de rubrique préfixé
Par défaut, MSK Replicator crée de nouveaux sujets dans le cluster cible avec un préfixe généré automatiquement ajouté au nom du sujet du cluster source, tel que. <sourceKafkaClusterAlias>.topic
Cela permet de distinguer les sujets répliqués des autres sujets du cluster cible et d'éviter la réplication circulaire des données entre les clusters.
Par exemple, MSK Replicator réplique les données d'une rubrique nommée « rubrique » depuis le cluster source vers une nouvelle rubrique du cluster cible appelée < sourceKafkaCluster Alias>.topic. Vous trouverez le préfixe qui sera ajouté aux noms des rubriques dans le cluster cible dans le champ sourceKafkaClusterAlias à l'aide DescribeReplicator
API de la page de détails du réplicateur de la MSK console. Le préfixe du cluster cible est < sourceKafkaCluster Alias>.
Pour vous assurer que vos clients peuvent redémarrer le traitement de manière fiable à partir du cluster de secours, vous devez configurer vos clients pour qu'ils lisent les données des rubriques à l'aide d'un opérateur .*
générique. Par exemple, vos consommateurs devraient consommer en utilisant. *topic1
dans les deux AWS régions. Cet exemple inclurait également un sujet tel quefootopic1
, alors ajustez l'opérateur joker en fonction de vos besoins.
Vous devez utiliser le MSK réplicateur qui ajoute un préfixe lorsque vous souhaitez conserver les données du réplicateur dans une rubrique distincte du cluster cible, par exemple pour les configurations de clusters actifs-actifs.
Réplication de noms de rubrique identiques
Comme alternative au paramètre par défaut, Amazon MSK Replicator vous permet de créer un réplicateur dont la réplication de rubrique est définie sur Réplication du nom de rubrique identique (conservez le même nom de rubrique dans la console). Vous pouvez créer un nouveau réplicateur dans la AWS région où se trouve votre MSK cluster cible. Les rubriques répliquées portant le même nom vous permettent d'éviter de reconfigurer les clients pour qu'ils lisent des rubriques répliquées.
La réplication de noms de rubrique identiques (conserver le même nom de rubrique dans la console) présente les avantages suivants :
Vous permet de conserver des noms de rubrique identiques pendant le processus de réplication, tout en évitant automatiquement le risque de boucles de réplication infinies.
Simplifie la configuration et le fonctionnement des architectures de streaming multi-clusters, car vous pouvez éviter de reconfigurer les clients pour qu'ils lisent des extraits des rubriques répliquées.
Pour les architectures de clusters actifs-passifs, la fonctionnalité de réplication de noms de rubrique identiques rationalise également le processus de basculement, permettant aux applications de basculer facilement vers un cluster de secours sans qu'il soit nécessaire de modifier le nom des rubriques ou de reconfigurer le client.
Peut être utilisé pour consolider plus facilement les données de plusieurs MSK clusters en un seul cluster à des fins d'agrégation de données ou d'analyse centralisée. Cela vous oblige à créer des réplicateurs distincts pour chaque cluster source et le même cluster cible.
Peut rationaliser la migration des données d'un MSK cluster à un autre en répliquant les données vers des rubriques portant le même nom dans le cluster cible.
Amazon MSK Replicator utilise les en-têtes Kafka pour éviter automatiquement que les données ne soient répliquées vers le sujet d'où elles proviennent, éliminant ainsi le risque de cycles infinis lors de la réplication. Un en-tête est une paire clé-valeur qui peut être incluse avec la clé, la valeur et l'horodatage dans chaque message Kafka. MSKReplicator intègre des identifiants pour le cluster source et le sujet dans l'en-tête de chaque enregistrement répliqué. MSKReplicator utilise les informations d'en-tête pour éviter des boucles de réplication infinies. Vous devez vérifier que vos clients sont capables de lire les données répliquées comme prévu.