

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.

# Configuration provisionnée d'Amazon MSK
<a name="msk-configuration"></a>

Amazon MSK fournit des configurations par défaut pour les courtiers, les rubriques et les nœuds de métadonnées. Vous pouvez également créer des configurations personnalisées et les utiliser pour créer de nouveaux clusters MSK ou pour mettre à jour des clusters existants. Une configuration MSK consiste en un ensemble de propriétés et leurs valeurs correspondantes. Selon le type de courtier que vous utilisez dans votre cluster, il existe différents ensembles de paramètres de configuration par défaut et différents ensembles de configurations que vous pouvez modifier. Consultez les sections ci-dessous pour plus de détails sur la configuration de vos courtiers Standard et Express.

**Topics**
+ [Configurations de courtier standard](msk-configuration-standard.md)
+ [Configurations Express Broker](msk-configuration-express.md)
+ [Opérations de configuration du broker](msk-configuration-operations.md)

# Configurations de courtier standard
<a name="msk-configuration-standard"></a>

Cette section décrit les propriétés de configuration des courtiers standard.

**Topics**
+ [Configurations Amazon MSK personnalisées](msk-configuration-properties.md)
+ [Configuration par défaut d'Amazon MSK](msk-default-configuration.md)
+ [Directives relatives à la configuration du stockage hiérarchisé Amazon MSK au niveau des sujets](msk-guidelines-tiered-storage-topic-level-config.md)

# Configurations Amazon MSK personnalisées
<a name="msk-configuration-properties"></a>

Vous pouvez utiliser Amazon MSK pour créer une configuration MSK personnalisée dans laquelle vous définissez les propriétés de configuration Apache Kafka suivantes. Les propriétés que vous ne définissez pas obtiennent explicitement les valeurs qu'elles ont dans [Configuration par défaut d'Amazon MSK](msk-default-configuration.md). Pour de plus amples informations sur les propriétés de configuration, veuillez consulter [Configuration d'Apache Kafka](https://kafka.apache.org/documentation/#configuration).


| Nom | Description | 
| --- | --- | 
| allow.everyone.if.no.acl.found | Si vous souhaitez définir cette propriété surfalse, assurez-vous d'abord de définir Apache Kafka ACLs pour votre cluster. Si vous attribuez à cette propriété false la valeur sans définir Apache Kafka au préalable ACLs, vous perdez l'accès au cluster. Dans ce cas, vous pouvez à nouveau mettre à jour la configuration et définir cette propriété sur true pour accéder de nouveau au cluster. | 
| auto.create.topics.enable | Active la création automatique de rubriques sur le serveur. | 
| compression.type | Type de compression final pour une rubrique donnée. Vous pouvez définir cette propriété sur les codecs de compression standard (gzip, snappy, lz4 et zstd). Il accepte en outre uncompressed. Cette valeur équivaut à l'absence de compression. Si vous définissez la valeur sur producer, cela implique de retenir le codec de compression d'origine défini par le producteur. | 
|  connections.max.idle.ms  | Délai d'expiration des connexions inactives en millisecondes. Les threads du processeur de socket de serveur ferment les connexions inactives pendant une durée supérieure à la valeur que vous avez définie pour cette propriété. | 
| default.replication.factor | Facteur de réplication par défaut pour les rubriques créées automatiquement. | 
| delete.topic.enable | Active l'opération de suppression de rubrique. Si vous désactivez cette configuration, vous ne pouvez pas supprimer une rubrique via l'outil d'administration. | 
| group.initial.rebalance.delay.ms | Temps pendant lequel le coordinateur du groupe attend que davantage de consommateurs de données rejoignent un nouveau groupe avant d'effectuer le premier rééquilibrage. Un délai plus long signifie potentiellement moins de rééquilibrages, mais augmente le temps jusqu'au début du traitement. | 
| group.max.session.timeout.ms | Délai maximal de session pour les consommateurs enregistrés. Les délais d'expiration plus longs donnent aux consommateurs plus de temps pour traiter les messages entre les battements de cœur, au prix d'un délai plus long pour détecter les défaillances. | 
| group.min.session.timeout.ms | Délai d'expiration minimum de session pour les consommateurs enregistrés. Des délais d'expiration plus courts entraînent une détection plus rapide des défaillances, au prix des battements de cœur plus fréquents des consommateurs. Cela peut surcharger les ressources des agents. | 
| leader.imbalance.per.broker.pourcentage | Ratio de déséquilibre de leader autorisé par courtier. Le contrôleur déclenche un équilibrage de leader s'il dépasse cette valeur par agent. Cette valeur est spécifiée en pourcentage. | 
| log.cleaner.delete.retention.ms | Durée pendant laquelle vous souhaitez qu'Apache Kafka conserve les enregistrements supprimés. La valeur minimale est 0. | 
| log.cleaner.min.cleanable.ratio |  Cette propriété de configuration peut avoir des valeurs comprises entre 0 et 1. Cette valeur détermine la fréquence à laquelle le compacteur de journal tente de nettoyer le journal (si le compactage du journal est activé). Par défaut, Apache Kafka évite de nettoyer un journal si plus de 50 % du journal a été compacté. Ce ratio limite l'espace maximal que le journal gaspille avec des doublons (à 50 %, cela signifie que le journal peut contenir tout au plus 50 % de doublons). Un ratio plus élevé signifie moins de nettoyages, plus efficaces, mais aussi plus d'espace perdu dans le journal.  | 
| log.cleanup.policy | Stratégie de nettoyage par défaut pour les segments au-delà de la fenêtre de rétention. Liste de stratégies valides séparées par des virgules. Les stratégies valides sont delete et compact. Pour les clusters compatibles avec le stockage hiérarchisé, la politique valide est delete uniquement. | 
| log.flush.interval.messages | Nombre de messages accumulés sur une partition de journal avant que les messages ne soient vidés sur le disque. | 
| log.flush.interval.ms | Durée maximale en millisecondes pendant laquelle un message dans une rubrique est conservé en mémoire avant d'être vidé sur le disque. Si vous ne définissez pas cette valeur, la valeur de log.flush.scheduler.interval.ms est utilisée. La valeur minimale est 0. | 
| log.message.timestamp.difference.max.ms | Cette configuration est obsolète dans Kafka 3.6.0. Deux configurations, log.message.timestamp.before.max.ms etlog.message.timestamp.after.max.ms, ont été ajoutées. Différence de temps maximale autorisée entre l'horodatage lorsqu'un agent reçoit un message et l'horodatage spécifié dans le message. Si log.message.timestamp.type=CreateTime, un message est rejeté si la différence d'horodatage dépasse ce seuil. Cette configuration est ignorée si LogAppendTime log.message.timestamp.type=. | 
| log.message.timestamp.type | Spécifie si l'horodatage du message est l'heure de création du message ou l'heure d'ajout du journal. Les valeurs autorisées sont CreateTime et LogAppendTime. | 
| log.retention.bytes | Taille maximale du journal avant de le supprimer. | 
| log.retention.hours | Nombre d'heures pour conserver un fichier journal avant de le supprimer, tertiaire à la propriété log.retention.ms. | 
| log.retention.minutes | Nombre de minutes de conservation d'un fichier journal avant de le supprimer, secondaire à la propriété log.retention.ms. Si vous ne définissez pas cette valeur, la valeur de log.retention.hours est utilisée. | 
| log.retention.ms | Nombre de millisecondes pour conserver un fichier journal avant de le supprimer (en millisecondes), si ce n'est pas défini, la valeur dans log.retention.minutes est utilisée. | 
| log.roll.ms | Durée maximale avant le déploiement d'un nouveau segment de journal (en millisecondes). Si vous ne définissez pas cette valeur, la valeur de log.roll.hours est utilisée. La valeur minimale possible pour cette propriété est 1. | 
| log.segment.bytes | Taille maximale d'un seul fichier journal. | 
| max.incremental.fetch.session.cache.slots | Nombre maximal de sessions d'extraction incrémentielle qui sont maintenues. | 
| message.max.octets |  La plus grande taille de lot d'enregistrement autorisée par Kafka. Si vous augmentez la valeur et qu'il y a des consommateurs plus anciens que 0.10.2, vous devez aussi augmenter la taille d'extraction des consommateurs afin qu'ils puissent récupérer des lots d'enregistrements aussi volumineux. La dernière version de format de message regroupe toujours les massages en lots pour plus d'efficacité. Les versions de format de message précédentes ne regroupent pas les enregistrements non compressés en lots et dans ce cas, cette limite ne s'applique qu'à un seul enregistrement. Vous pouvez définir cette valeur par rubrique avec le niveau de rubrique max.message.bytes config.  | 
| min.insync.replicas |  Lorsqu'un producteur définit acks sur `"all"` (ou `"-1"`), la valeur de min.insync.replicas spécifie le nombre minimum de réplicas qui doivent reconnaître une écriture pour que celle-ci soit considérée comme réussie. Si ce minimum ne peut être atteint, le producteur émet une exception ( NotEnoughReplicas ou NotEnoughReplicasAfterAppend). Vous pouvez utiliser des valeurs dans min.insync.replicas et acks pour appliquer de meilleures garanties de durabilité. Par exemple, vous pouvez créer une rubrique avec un facteur de réplication de 3, définir min.insync.replicas sur 2 et produire avec des acks de `"all"`. Cela garantit que le producteur déclenche une exception si la majorité des réplicas ne reçoivent pas d'écriture.  | 
| num.io.threads | Nombre de threads utilisés par le serveur pour le traitement des demandes, qui peuvent inclure des E/S de disque. | 
| num.network.threads | Nombre de threads que le serveur utilise pour recevoir des demandes du réseau et lui envoyer des réponses. | 
| num.partitions | Nombre par défaut de partitions de journal par rubrique. | 
| num.recovery.threads.per.data.dir | Nombre de threads par répertoire de données à utiliser pour récupérer des journaux au démarrage et pour leur vidage lors de l'arrêt. | 
| num.replica.fetchers | Nombre de threads de récupération utilisés pour répliquer les messages d'un broker source. Si vous augmentez cette valeur, vous pouvez augmenter le degré de I/O parallélisme dans le broker suiveur. | 
| offsets.retention.minutes | Lorsqu'un groupe de consommateurs perd tous ses consommateurs (c'est-à-dire qu'il devient vide), ses compensations sont conservées pour cette période de rétention avant d'être jetées. Pour les consommateurs autonomes (c'est-à-dire ceux qui utilisent l'affectation manuelle), les décalages expirent après l'heure de la dernière validation plus cette période de conservation. | 
| offsets.topic.replication.factor | Facteur de réplication de la rubrique des décalages. Définissez cette valeur à un niveau supérieur pour garantir la disponibilité. La création de rubrique interne échoue jusqu'à ce que la taille du cluster réponde à cette exigence de facteur de réplication. | 
| réplica.fetch.max.bytes | Nombre d'octets de messages à essayer de récupérer pour chaque partition. Ce n'est pas un maximum absolu. Si le premier lot d'enregistrements de la première partition non vide de l'extraction est supérieur à cette valeur, le lot d'enregistrements est renvoyé pour assurer la progression. Les message.max.bytes (broker config) ou max.message.bytes (topic config) définissent la taille maximale du lot d'enregistrements que l'agent accepte. | 
| replica.fetch.response.max.bytes | Nombre maximal d'octets attendu pour l'ensemble de la réponse de récupération. Les enregistrements sont récupérés par lots, et si le premier lot d'enregistrements de la première partition non vide de l'extraction est supérieur à cette valeur, le lot d'enregistrements sera toujours renvoyé pour assurer la progression. Ce n'est pas un maximum absolu. Les propriétés message.max.bytes (broker config) ou max.message.bytes (topic config) spécifient la taille maximale du lot d'enregistrements que le broker accepte. | 
| replica.lag.time.max.ms | Si un suiveur n'a envoyé aucune demande d'extraction ou n'a pas consommé le décalage de fin existant avec le journal du leader pendant au moins ce nombre de millisecondes, le leader supprime le suiveur de l'ISR.MinValue: 10000MaxValue = 30000 | 
| replica.selector.class | Le nom de classe complet qui implémente ReplicaSelector. L'agent utilise cette valeur pour trouver le réplica en lecture préféré. Si vous utilisez Apache Kafka, version 2.4.1 ou supérieure, et que vous souhaitez permettre aux consommateurs de récupérer le réplica le plus proche, définissez cette propriété sur org.apache.kafka.common.replica.RackAwareReplicaSelector. Pour de plus amples informations, veuillez consulter [Apache Kafka version 2.4.1 (utilisez plutôt 2.4.1.1)](supported-kafka-versions.md#2.4.1). | 
| replica.socket.receive.buffer.bytes | Tampon de réception du socket pour les demandes réseau. | 
| socket.receive.buffer.bytes | Tampon SO\$1RCVBUF des sockets de serveur de socket. La valeur minimale que vous pouvez définir pour cette propriété est -1. Si la valeur est -1, Amazon MSK utilise le système d'exploitation par défaut. | 
| socket.request.max.octets | Nombre maximal d'octets dans une requête socket. | 
| socket.send.buffer.bytes | Tampon SO\$1SNDBUF des sockets de serveur de socket. La valeur minimale que vous pouvez définir pour cette propriété est -1. Si la valeur est -1, Amazon MSK utilise le système d'exploitation par défaut. | 
| transaction.max.timeout.ms | Délai maximal pour les transactions. Si le temps de transaction demandé à un client dépasse cette valeur, le courtier renvoie une erreur InitProducerIdRequest. Cela évite au client un délai d'expiration trop important et cela peut empêcher les consommateurs de lire des rubriques incluses dans la transaction. | 
| transaction.state.log.min.isr | Configuration min.insync.replicas remplacée pour la rubrique de la transaction. | 
| transaction.state.log.replication.factor | Facteur de réplication de la rubrique de la transaction. Configurez cette propriété sur une valeur plus élevée pour augmenter la disponibilité. La création de rubrique interne échoue jusqu'à ce que la taille du cluster réponde à cette exigence de facteur de réplication. | 
| transactional.id.expiration.ms | Durée en millisecondes pendant laquelle le coordinateur de transactions attend de recevoir les mises à jour du statut de la transaction en cours avant que l'ID transactionnel du coordinateur n'expire. Ce paramètre influence également l'expiration de l'identifiant du producteur, car il entraîne l' IDsexpiration du producteur lorsque ce délai s'écoule après la dernière écriture avec l'identifiant de producteur donné. Le producteur IDs peut expirer plus tôt si la dernière écriture provenant de l'identifiant du producteur est supprimée en raison des paramètres de conservation du sujet. La valeur minimale pour cette propriété est 1 milliseconde. | 
| unclean.leader.election.enable | Indique si les réplicas ne figurant pas dans l'ensemble ISR doivent servir de leader en dernier recours, même si cela peut entraîner une perte de données. | 
| zookeeper.connection.timeout.ms | ZooKeeper clusters de modes. Durée maximale pendant laquelle le client attend avant d'établir une connexion. ZooKeeper Si vous ne définissez pas cette valeur, la valeur de zookeeper.session.timeout.ms est utilisée. MinValue = 6000 MaxValue (inclus) = 18000 Nous vous recommandons de définir cette valeur sur 10 000 sur T3.small pour éviter les interruptions de service du cluster.  | 
| zookeeper.session.timeout.ms |  ZooKeeper clusters de modes. Le délai d'expiration de ZooKeeper la session Apache en millisecondes. MinValue = 6000 MaxValue (inclus) = 18000  | 

Pour savoir comment créer une configuration MSK personnalisée, dresser une liste de toutes les configurations ou les décrire, veuillez consulter [Opérations de configuration du broker](msk-configuration-operations.md). Pour créer un cluster MSK à l'aide d'une configuration MSK personnalisée ou pour mettre à jour un cluster avec une nouvelle configuration personnalisée, consultez [Caractéristiques et concepts clés d'Amazon MSK](operations.md).

Lorsque vous mettez à jour votre cluster MSK existant avec une configuration MSK personnalisée, Amazon MSK redémarre la propagation lorsque nécessaire et utilise les bonnes pratiques pour limiter les temps d'arrêt du client. Par exemple, après qu'Amazon MSK a redémarré chaque agent, il essaie de laisser l'agent rattraper les données que l'agent a pu manquer lors de la mise à jour de la configuration avant de passer à l'agent suivant.

## Configuration dynamique d'Amazon MSK
<a name="msk-dynamic-confinguration"></a>

Outre les propriétés de configuration fournies par Amazon MSK, vous pouvez définir dynamiquement les propriétés de configuration au niveau du cluster et de l'agent qui ne nécessitent pas de redémarrage de l'agent. Vous pouvez définir certaines propriétés de configuration de manière dynamique. Il s'agit des propriétés qui ne sont pas marquées en lecture seule dans la table sous [Configurations de l'agent](https://kafka.apache.org/documentation/#brokerconfigs) dans la documentation Apache Kafka. Pour de plus amples informations sur la configuration dynamique et les exemples de commandes, consultez [Mise à jour des configurations de l'agent](https://kafka.apache.org/documentation/#dynamicbrokerconfigs) dans la documentation Apache Kafka.

**Note**  
Vous pouvez définir la propriété `advertised.listeners`, mais pas la propriété `listeners`.

## Configuration Amazon MSK au niveau du sujet
<a name="msk-topic-confinguration"></a>

Vous pouvez utiliser les commandes Apache Kafka pour définir ou modifier les propriétés de configuration au niveau des rubriques nouvelles et existantes. Pour de plus amples informations sur les propriétés de configuration au niveau de la rubrique et pour obtenir des exemples de définition, consultez [Configurations au niveau de la rubrique](https://kafka.apache.org/documentation/#topicconfigs) dans la documentation Apache Kafka.

# Configuration par défaut d'Amazon MSK
<a name="msk-default-configuration"></a>

Lorsque vous créez un cluster MSK et que vous ne spécifiez pas de configuration MSK personnalisée, Amazon MSK crée et utilise une configuration par défaut avec les valeurs indiquées dans le tableau suivant. Pour les propriétés qui ne figurent pas dans cette table, Amazon MSK utilise les valeurs par défaut associées à votre version d'Apache Kafka. Pour obtenir la liste de ces valeurs par défaut, consultez [Apache Kafka Configuration](https://kafka.apache.org/documentation/#configuration). 


| Nom | Description | Valeur par défaut d'un cluster de stockage non hiérarchisé | Valeur par défaut d'un cluster de stockage hiérarchisé | 
| --- | --- | --- | --- | 
| allow.everyone.if.no.acl.found | Si aucun modèle de ressource ne correspond à une ressource spécifique, celle-ci n'est associée à aucune ressource ACLs. Dans ce cas, si vous définissez cette propriété sur true, tous les utilisateurs peuvent accéder à la ressource, et pas seulement les super utilisateurs. | true | true | 
| auto.create.topics.enable | Active la création automatique d'une rubrique sur le serveur. | false | false | 
| auto.leader.rebalance.enable | Active l'équilibrage automatique du leader. Un thread d'arrière-plan vérifie et lance un équilibrage de leader si nécessaire à intervalles réguliers. | true | true | 
| default.replication.factor | Facteurs de réplication par défaut pour les rubriques créées automatiquement. | 3 pour les clusters situés dans 3 zones de disponibilité et 2 pour les clusters situés dans 2 zones de disponibilité. | 3 pour les clusters situés dans 3 zones de disponibilité et 2 pour les clusters situés dans 2 zones de disponibilité. | 
|  local.retention.bytes  |  Taille maximale des segments de journal locaux pour une partition avant la suppression des anciens segments. Si vous ne définissez pas cette valeur, la valeur de log.retention.bytes est utilisée. La valeur effective doit toujours être inférieure ou égale à la valeur de log.retention.bytes. Une valeur par défaut de -2 signifie qu'aucune limite n'est appliquée à la conservation locale. Cela correspond au paramètre retention.ms/bytes de -1. Les propriétés local.retention.ms et local.retention.bytes sont similaires à log.retention, car elles sont utilisées pour déterminer la durée pendant laquelle les segments de journal doivent être conservés dans le stockage local. Les configurations log.retention.\$1 existantes sont des configurations de conservation pour la partition de la rubrique. Cela inclut le stockage local et distant. Valeurs valides : nombres entiers compris entre [-2 ; \$1Inf]  | -2 pour un nombre illimité | -2 pour un nombre illimité | 
|  local.retention.ms  | Nombre de millisecondes pour retenir le segment de journal local avant sa suppression. Si vous ne définissez pas cette valeur, Amazon MSK utilise la valeur de log.retention.ms. La valeur effective doit toujours être inférieure ou égale à la valeur de log.retention.bytes. Une valeur par défaut de -2 signifie qu'aucune limite n'est appliquée à la conservation locale. Cela correspond au paramètre retention.ms/bytes de -1.Les valeurs local.retention.ms et local.retention.bytes sont similaires à celles de log.retention. MSK utilise cette configuration pour déterminer la durée pendant laquelle les segments de journal doivent être conservés dans le stockage local. Les configurations log.retention.\$1 existantes sont des configurations de conservation pour la partition de la rubrique. Cela inclut le stockage local et distant. Les valeurs valides sont des nombres entiers supérieurs à 0. | -2 pour un nombre illimité | -2 pour un nombre illimité | 
|  log.message.timestamp.difference.max.ms  | Cette configuration est obsolète dans Kafka 3.6.0. Deux configurations, log.message.timestamp.before.max.ms etlog.message.timestamp.after.max.ms, ont été ajoutées. Différence maximale autorisée entre l'horodatage lorsqu'un broker reçoit un message et l'horodatage spécifié dans le message. Si log.message.timestamp.type=CreateTime, un message sera rejeté si la différence d'horodatage dépasse ce seuil. Cette configuration est ignorée si LogAppendTime log.message.timestamp.type=. La différence d'horodatage maximale autorisée ne doit pas être supérieure à log.retention.ms afin d'éviter la propagation de journaux inutilement fréquente. | 9223372036854775807 | 86400000 pour Kafka 2.8.2.tiered et Kafka 3.7.x hiérarchisé. | 
| log.segment.bytes | Taille maximale d'un seul fichier journal. | 1073741824 | 134217728 | 
| min.insync.replicas |  Lorsqu'un producteur définit la valeur de acks (accusé de réception reçu par le producteur de l'agent Kafka) sur `"all"` (ou `"-1"`), la valeur de min.insync.replicas spécifie le nombre minimum de réplicas qui doivent reconnaître une écriture pour que celle-ci soit considérée comme réussie. Si cette valeur n'atteint pas ce minimum, le producteur déclenche une exception ( NotEnoughReplicas ou NotEnoughReplicasAfterAppend). Lorsque vous utilisez les valeurs de min.insync.replicas et acks ensemble, vous pouvez appliquer de meilleures garanties de durabilité. Par exemple, vous pouvez créer une rubrique avec un facteur de réplication de 3, définir min.insync.replicas sur 2 et produire avec des acks de `"all"`. Cela garantit que le producteur déclenche une exception si la majorité des réplicas ne reçoivent pas d'écriture.  | 2 pour les clusters situés dans 3 zones de disponibilité et 1 pour les clusters situés dans 2 zones de disponibilité. | 2 pour les clusters situés dans 3 zones de disponibilité et 1 pour les clusters situés dans 2 zones de disponibilité. | 
| num.io.threads | Nombre de threads utilisés par le serveur pour produire des demandes, qui peuvent inclure des E/S de disque. | 8 | max (8, vCPUs) où v CPUs dépend de la taille de l'instance du broker | 
| num.network.threads | Nombre de threads utilisés par le serveur pour recevoir les demandes du réseau et envoyer des réponses au réseau. | 5 | max (5, vCPUs /2) où v CPUs dépend de la taille de l'instance du broker | 
| num.partitions | Nombre par défaut de partitions de journal par rubrique. | 1 | 1 | 
| num.replica.fetchers | Nombre de threads de récupération utilisés pour répliquer les messages provenant d'un courtier source. Si vous augmentez cette valeur, vous pouvez augmenter le degré de I/O parallélisme dans le courtier suiveur. | 2 | max (2, vCPUs /4) où v CPUs dépend de la taille de l'instance du broker | 
|  remote.log.msk.disable.policy  |  Utilisé avec remote.storage.enable pour désactiver le stockage hiérarchisé. Définissez cette politique sur Supprimer, pour indiquer que les données du stockage hiérarchisé sont supprimées lorsque vous définissez remote.storage.enable sur false.  | N/A | Aucune | 
| remote.log.reader.threads | Taille du pool de threads du lecteur de journaux distant, qui est utilisée pour planifier des tâches visant à récupérer des données à partir d'un stockage distant. | N/A | max (10, v CPUs \$1 0,67) où v CPUs dépend de la taille de l'instance du broker | 
|  remote.storage.enable  | Active le stockage (distant) hiérarchisé pour une rubrique s'il est défini sur true. Désactive le stockage hiérarchisé au niveau de la rubrique s'il est défini sur false et remote.log.msk.disable.policy est défini sur Supprimer. Lorsque vous désactivez le stockage hiérarchisé, vous supprimez les données du stockage distant. Lorsque vous désactivez le stockage hiérarchisé pour une rubrique, vous ne pouvez pas le réactiver. | false | false | 
| replica.lag.time.max.ms | Si un suiveur n'a envoyé aucune demande d'extraction ou n'a pas consommé le décalage de fin existant avec le journal du leader pendant au moins ce nombre de millisecondes, le leader supprime le suiveur de l'ISR. | 30 000 | 30 000 | 
|  retention.ms  |  Champ obligatoire. La durée minimale est de 3 jours. Le paramètre étant obligatoire, il n'y a pas de valeur par défaut. Amazon MSK utilise la valeur retention.ms avec local.retention.ms pour déterminer à quel moment les données sont transférées du stockage local vers le stockage hiérarchisé. La valeur local.retention.ms indique quand déplacer les données du stockage local vers le stockage hiérarchisé. La valeur retention.ms indique à quel moment les données doivent être supprimées du stockage hiérarchisé (c'est-à-dire lorsqu'elles sont supprimées du cluster). Valeurs valides : nombres entiers compris entre [-1 ; \$1Inf]  | Minimum 259 200 000 millisecondes (3 jours). -1 pour une conservation illimitée. | Minimum 259 200 000 millisecondes (3 jours). -1 pour une conservation illimitée. | 
| socket.receive.buffer.bytes | Tampon SO\$1RCVBUF tampon des sockets de serveur de socket. Si la valeur est -1, le système d'exploitation par défaut est utilisé. | 102400 | 102400 | 
| socket.request.max.octets | Nombre maximal d'octets dans une requête socket. | 104857600 | 104857600 | 
| socket.send.buffer.bytes | Tampon SO\$1SNDBUF des sockets de serveur de socket. Si la valeur est -1, le système d'exploitation par défaut est utilisé. | 102400 | 102400 | 
| unclean.leader.election.enable | Indique si vous souhaiter que les réplicas ne figurant pas dans l'ensemble ISR servent de leader en dernier recours, même si cela peut entraîner une perte de données. | vrai | false | 
| zookeeper.session.timeout.ms |  Le délai d'expiration de ZooKeeper la session Apache en millisecondes.  | 18000 | 18000 | 
| zookeeper.set.acl | Le client configuré pour utiliser Secure ACLs. | false | false | 

Pour plus d'informations sur la manière de spécifier des valeurs de configuration personnalisées, consultez[Configurations Amazon MSK personnalisées](msk-configuration-properties.md).

# Directives relatives à la configuration du stockage hiérarchisé Amazon MSK au niveau des sujets
<a name="msk-guidelines-tiered-storage-topic-level-config"></a>

Vous trouverez ci-dessous les paramètres et les limites par défaut lorsque vous configurez le stockage hiérarchisé au niveau de la rubrique.
+ Amazon MSK ne prend pas en charge les segments de journal de plus petite taille pour les rubriques pour lesquelles le stockage hiérarchisé est activé. Si vous souhaitez créer un segment, la taille minimale du segment de journal est de 48 Mio, ou le temps d'exécution des segments est d'au moins 10 minutes. Ces valeurs correspondent aux propriétés segment.bytes et segment.ms.
+ La valeur de local.retention. ms/bytes can't equal or exceed the retention.ms/bytes. Il s'agit du paramètre de conservation du stockage hiérarchisé.
+ La valeur par défaut pour for local.retention. ms/bytes is -2. This means that the retention.ms value is used for local.retention.ms/bytes. Dans ce cas, les données restent à la fois dans le stockage local et dans le stockage hiérarchisé (une copie dans chaque cas), et elles expirent en même temps. Pour cette option, une copie des données locales est conservée sur le stockage distant. Dans ce cas, les données lues à partir du trafic de consommation proviennent du stockage local.
+ La valeur par défaut de retention.ms est de 7 jours. Il n'existe aucune limite de taille par défaut pour retention.bytes.
+ La valeur minimale de retention.ms/bytes est -1. Cela signifie une conservation infinie.
+ La valeur minimale pour local.retention. ms/bytes is -2. This means infinite retention for local storage. It matches with the retention.ms/bytesréglage sur -1.
+ Le fichier de configuration au niveau thématique retention.ms est obligatoire pour les sujets pour lesquels le stockage hiérarchisé est activé. La valeur minimale de retention.ms est de 3 jours.

Pour plus d'informations sur les contraintes de stockage hiérarchisé, consultez[Contraintes et limites du stockage hiérarchisé pour les clusters Amazon MSK](msk-tiered-storage.md#msk-tiered-storage-constraints).

# Configurations Express Broker
<a name="msk-configuration-express"></a>

Apache Kafka propose des centaines de configurations de broker que vous pouvez utiliser pour optimiser les performances de votre cluster MSK Provisioned. La définition de valeurs erronées ou sous-optimales peut affecter la fiabilité et les performances du cluster. Les courtiers Express améliorent la disponibilité et la durabilité de vos clusters provisionnés par MSK en définissant des valeurs optimales pour les configurations critiques et en les protégeant contre les erreurs de configuration courantes. Il existe trois catégories de configurations basées sur l'accès en lecture et en écriture : les configurations en [lecture/écriture (modifiables)](msk-configuration-express-read-write.md), en [lecture seule](msk-configuration-express-read-only.md) et les configurations sans lecture/écriture. Certaines configurations utilisent toujours la valeur par défaut d'Apache Kafka pour la version d'Apache Kafka exécutée par le cluster. Nous les marquons comme Apache Kafka par défaut.

**Topics**
+ [Configurations de broker MSK Express personnalisées (accès en lecture/écriture)](msk-configuration-express-read-write.md)
+ [Configurations en lecture seule d'Express Brokers](msk-configuration-express-read-only.md)

# Configurations de broker MSK Express personnalisées (accès en lecture/écriture)
<a name="msk-configuration-express-read-write"></a>

Vous pouvez mettre à jour les configurations des read/write courtiers en utilisant la [fonctionnalité de mise à jour de configuration](msk-update-cluster-config.md) d'Amazon MSK ou en utilisant l'API d'Apache Kafka. AlterConfig Les configurations du broker Apache Kafka sont statiques ou dynamiques. Les configurations statiques nécessitent un redémarrage du courtier pour que la configuration soit appliquée, tandis que les configurations dynamiques n'ont pas besoin d'un redémarrage du courtier. Pour plus d'informations sur les propriétés de configuration et les modes de mise à jour, consultez la section [Mise à jour des configurations des courtiers](https://kafka.apache.org/documentation/#dynamicbrokerconfigs).

**Topics**
+ [Configurations statiques sur les courtiers MSK Express](#msk-configuration-express-static-configuration)
+ [Configurations dynamiques sur Express Brokers](#msk-configuration-express-dynamic-configuration)
+ [Configurations thématiques sur Express Brokers](#msk-configuration-express-topic-configuration)

## Configurations statiques sur les courtiers MSK Express
<a name="msk-configuration-express-static-configuration"></a>

Vous pouvez utiliser Amazon MSK pour créer un fichier de configuration MSK personnalisé afin de définir les propriétés statiques suivantes. Amazon MSK définit et gère toutes les autres propriétés que vous ne définissez pas. Vous pouvez créer et mettre à jour des fichiers de configuration statiques à partir de la console MSK ou à l'aide de la [commande configurations](msk-configuration-operations-create.md).


| Propriété | Description | Valeur par défaut | 
| --- | --- | --- | 
|  allow.everyone.if.no.acl.found  |  Si vous souhaitez définir cette propriété sur false, assurez-vous d'abord de définir Apache Kafka ACLs pour votre cluster. Si vous définissez cette propriété sur false et que vous ne définissez pas d'abord Apache Kafka ACLs, vous perdez l'accès au cluster. Dans ce cas, vous pouvez à nouveau mettre à jour la configuration et attribuer à cette propriété la valeur true pour retrouver l'accès au cluster.  |  true  | 
|  auto.create.topics.enable  |  Active la création automatique d'une rubrique sur le serveur.  |  false  | 
| compression.type |  Spécifiez le type de compression final pour un sujet donné. Cette configuration accepte les codecs de compression standard : gzip, snappy, lz4, zstd. Cette configuration accepte également`uncompressed`, ce qui équivaut à l'absence de compression`producer`, et donc à conserver le codec de compression d'origine défini par le producteur. | Apache Kafka par défaut | 
|  connections.max.idle.ms  |  Délai d'expiration des connexions inactives en millisecondes. Les threads du processeur de socket de serveur ferment les connexions inactives pendant une durée supérieure à la valeur que vous avez définie pour cette propriété.  |  Apache Kafka par défaut  | 
|  delete.topic.enable  |  Active l'opération de suppression de rubrique. Si vous désactivez cette configuration, vous ne pouvez pas supprimer une rubrique via l'outil d'administration.  |  Apache Kafka par défaut  | 
|  group.initial.rebalance.delay.ms  |   Temps pendant lequel le coordinateur du groupe attend que davantage de consommateurs de données rejoignent un nouveau groupe avant d'effectuer le premier rééquilibrage. Un délai plus long signifie potentiellement moins de rééquilibrages, mais augmente le temps jusqu'au début du traitement.  |  Apache Kafka par défaut  | 
|  group.max.session.timeout.ms  |  Délai maximal de session pour les consommateurs enregistrés. Les délais d'expiration plus longs donnent aux consommateurs plus de temps pour traiter les messages entre les battements de cœur, au prix d'un délai plus long pour détecter les défaillances.  |  Apache Kafka par défaut  | 
|  leader.imbalance.per.broker.pourcentage  |  Ratio de déséquilibre de leader autorisé par courtier. Le contrôleur déclenche un équilibrage de leader s'il dépasse cette valeur par agent. Cette valeur est spécifiée en pourcentage.  |  Apache Kafka par défaut  | 
| log.cleanup.policy | Stratégie de nettoyage par défaut pour les segments au-delà de la fenêtre de rétention. Liste de stratégies valides séparées par des virgules. Les stratégies valides sont delete et compact. Pour les clusters compatibles avec le stockage hiérarchisé, la politique valide est uniquement valable. delete | Apache Kafka par défaut | 
| log.message.timestamp.after.max.ms |  Différence d'horodatage autorisée entre l'horodatage du message et l'horodatage du courtier. L'horodatage du message peut être supérieur ou égal à l'horodatage du courtier, la différence maximale autorisée étant déterminée par la valeur définie dans cette configuration. Si`log.message.timestamp.type=CreateTime`, le message sera rejeté si la différence d'horodatage dépasse ce seuil spécifié. Cette configuration est ignorée si`log.message.timestamp.type=LogAppendTime`.  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, soit 1 jour) | 
| log.message.timestamp.before.max.ms |  Différence d'horodatage autorisée entre l'horodatage du courtier et l'horodatage du message. L'horodatage du message peut être antérieur ou égal à l'horodatage du courtier, la différence maximale autorisée étant déterminée par la valeur définie dans cette configuration. Si`log.message.timestamp.type=CreateTime`, le message sera rejeté si la différence d'horodatage dépasse ce seuil spécifié. Cette configuration est ignorée si`log.message.timestamp.type=LogAppendTime`.  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, soit 1 jour) | 
| log.message.timestamp.type | Spécifie si l'horodatage du message est l'heure de création du message ou l'heure d'ajout du journal. Les valeurs autorisées sont CreateTime et LogAppendTime. | Apache Kafka par défaut | 
| log.retention.bytes | Taille maximale du journal avant de le supprimer. | Apache Kafka par défaut | 
| log.retention.ms | Nombre de millisecondes nécessaires pour conserver un fichier journal avant de le supprimer. | Apache Kafka par défaut | 
| max.connections.per .ip | Le nombre maximum de connexions autorisées à partir de chaque adresse IP. Cela peut être défini sur 0 si des remplacements sont configurés à l'aide de cette max.connections.per.ip.overrides propriété. Les nouvelles connexions à partir de l'adresse IP sont supprimées si la limite est atteinte. | Apache Kafka par défaut | 
|  max.incremental.fetch.session.cache.slots  |  Nombre maximal de sessions d'extraction incrémentielle qui sont maintenues.  |  Apache Kafka par défaut  | 
| message.max.octets |  La plus grande taille de lot d'enregistrement autorisée par Kafka. Si vous augmentez la valeur et qu'il y a des consommateurs plus anciens que 0.10.2, vous devez aussi augmenter la taille d'extraction des consommateurs afin qu'ils puissent récupérer des lots d'enregistrements aussi volumineux. La dernière version de format de message regroupe toujours les massages en lots pour plus d'efficacité. Les versions de format de message précédentes ne regroupent pas les enregistrements non compressés en lots et dans ce cas, cette limite ne s'applique qu'à un seul enregistrement. Vous pouvez définir cette valeur par sujet à l'aide de la `max.message.bytes` configuration au niveau du sujet.  | Apache Kafka par défaut | 
|  num.partitions  |  Nombre de partitions par défaut par sujet.  |  1  | 
|  offsets.retention.minutes  |  Lorsqu'un groupe de consommateurs perd tous ses consommateurs (c'est-à-dire qu'il devient vide), ses compensations sont conservées pour cette période de rétention avant d'être jetées. Pour les consommateurs autonomes (c'est-à-dire ceux qui utilisent l'attribution manuelle), les offsets expirent après la date du dernier commit plus cette période de conservation.  |  Apache Kafka par défaut  | 
|  réplica.fetch.max.bytes  |  Nombre d'octets de messages à essayer de récupérer pour chaque partition. Ce n'est pas un maximum absolu. Si le premier lot d'enregistrements de la première partition non vide de l'extraction est supérieur à cette valeur, le lot d'enregistrements est renvoyé pour assurer la progression. Les message.max.bytes (broker config) ou max.message.bytes (topic config) définissent la taille maximale du lot d'enregistrements que l'agent accepte.  |  Apache Kafka par défaut  | 
|  replica.selector.class  |  Le nom de classe complet qui implémente ReplicaSelector. L'agent utilise cette valeur pour trouver le réplica en lecture préféré. Si vous souhaitez autoriser les consommateurs à récupérer des données depuis la réplique la plus proche, attribuez à `org.apache.kafka.common.replica.RackAwareReplicaSelector` cette propriété la valeur.  |  Apache Kafka par défaut  | 
|  socket.receive.buffer.bytes  |  Tampon SO\$1RCVBUF tampon des sockets de serveur de socket. Si la valeur est -1, le système d'exploitation par défaut est utilisé.  |  102400  | 
|  socket.request.max.octets  |  Nombre maximal d'octets dans une requête socket.  |  104857600  | 
|  socket.send.buffer.bytes  |  Tampon SO\$1SNDBUF des sockets de serveur de socket. Si la valeur est -1, le système d'exploitation par défaut est utilisé.  |  102400  | 
|  transaction.max.timeout.ms  |  Délai maximal pour les transactions. Si le temps de transaction demandé à un client dépasse cette valeur, le courtier renvoie une erreur InitProducerIdRequest. Cela évite au client un délai d'expiration trop important et cela peut empêcher les consommateurs de lire des rubriques incluses dans la transaction.  |  Apache Kafka par défaut  | 
|  transactional.id.expiration.ms  |  Durée en millisecondes pendant laquelle le coordinateur de transactions attend de recevoir les mises à jour du statut de la transaction en cours avant que l'ID transactionnel du coordinateur n'expire. Ce paramètre influence également l'expiration de l'identifiant du producteur, car il entraîne IDs l'expiration du producteur lorsque ce délai s'écoule après la dernière écriture avec l'identifiant de producteur donné. Le producteur IDs peut expirer plus tôt si la dernière écriture provenant de l'identifiant du producteur est supprimée en raison des paramètres de conservation du sujet. La valeur minimale pour cette propriété est 1 milliseconde.  |  Apache Kafka par défaut  | 

## Configurations dynamiques sur Express Brokers
<a name="msk-configuration-express-dynamic-configuration"></a>

Vous pouvez utiliser l' AlterConfig API Apache Kafka ou l'outil Kafka-configs.sh pour modifier les configurations dynamiques suivantes. Amazon MSK définit et gère toutes les autres propriétés que vous ne définissez pas. Vous pouvez définir dynamiquement des propriétés de configuration au niveau du cluster et au niveau du courtier qui ne nécessitent pas le redémarrage du courtier.


| Propriété | Description | Valeur par défaut | 
| --- | --- | --- | 
|  publicités.auditeurs  |  Écouteurs à publier pour que les clients puissent les utiliser, s'ils sont différents de la propriété de `listeners` configuration. Dans les environnements IaaS, cela peut devoir être différent de l'interface à laquelle le broker se lie. Si ce n'est pas le cas, la valeur pour les auditeurs sera utilisée. Contrairement aux écouteurs, il n'est pas valide de publier la méta-adresse 0.0.0.0. Contrairement à cela`listeners`, cette propriété peut comporter des ports dupliqués, de sorte qu'un écouteur peut être configuré pour publier l'adresse d'un autre écouteur. Cela peut être utile dans certains cas où des équilibreurs de charge externes sont utilisés. Cette propriété est définie au niveau de chaque courtier.  |  null  | 
|  compression.type  |  Type de compression final pour une rubrique donnée. Vous pouvez définir cette propriété sur les codecs de compression standard (`gzip`, `snappy`, `lz4` et `zstd`). Il accepte en outre `uncompressed`. Cette valeur équivaut à l'absence de compression. Si vous définissez la valeur sur `producer`, cela implique de retenir le codec de compression d'origine défini par le producteur.  | Apache Kafka par défaut | 
| log.cleaner.delete.retention.ms | Durée de conservation des marqueurs de pierre tombale supprimés pour les sujets compactés dans les journaux. Ce paramètre définit également le temps pendant lequel un consommateur doit terminer une lecture s'il part du décalage 0 afin de s'assurer d'obtenir un instantané valide de l'étape finale. Sinon, les pierres tombales supprimées pourraient être collectées avant qu'elles ne terminent leur numérisation. | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, soit 1 jour), Apache Kafka par défaut | 
| log.cleaner.min.compaction.lag.ms | Durée minimale pendant laquelle un message restera non compacté dans le journal. Ce paramètre ne s'applique qu'aux journaux en cours de compactage. | 0, Apache Kafka par défaut | 
| log.cleaner.max.compaction.lag.ms | Durée maximale pendant laquelle un message restera inéligible au compactage dans le journal. Ce paramètre ne s'applique qu'aux journaux en cours de compactage. Cette configuration serait limitée à [7 jours, Long.Max]. | 9223372036854775807, Apache Kafka par défaut | 
|  log.cleanup.policy  |  Stratégie de nettoyage par défaut pour les segments au-delà de la fenêtre de rétention. Liste de stratégies valides séparées par des virgules. Les stratégies valides sont `delete` et `compact`. Pour les clusters compatibles avec le stockage hiérarchisé, la politique valide est uniquement valable. `delete`  | Apache Kafka par défaut | 
|  log.message.timestamp.after.max.ms  |  Différence d'horodatage autorisée entre l'horodatage du message et l'horodatage du courtier. L'horodatage du message peut être supérieur ou égal à l'horodatage du courtier, la différence maximale autorisée étant déterminée par la valeur définie dans cette configuration. Si`log.message.timestamp.type=CreateTime`, le message sera rejeté si la différence d'horodatage dépasse ce seuil spécifié. Cette configuration est ignorée si`log.message.timestamp.type=LogAppendTime`.  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, soit 1 jour) | 
|  log.message.timestamp.before.max.ms  |  Différence d'horodatage autorisée entre l'horodatage du courtier et l'horodatage du message. L'horodatage du message peut être antérieur ou égal à l'horodatage du courtier, la différence maximale autorisée étant déterminée par la valeur définie dans cette configuration. Si`log.message.timestamp.type=CreateTime`, le message sera rejeté si la différence d'horodatage dépasse ce seuil spécifié. Cette configuration est ignorée si`log.message.timestamp.type=LogAppendTime`.  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, soit 1 jour) | 
|  log.message.timestamp.type  |  Spécifie si l'horodatage du message est l'heure de création du message ou l'heure d'ajout du journal. Les valeurs autorisées sont `CreateTime` et `LogAppendTime`.  | Apache Kafka par défaut | 
|  log.retention.bytes  |  Taille maximale du journal avant de le supprimer.  |  Apache Kafka par défaut  | 
|  log.retention.ms  |  Nombre de millisecondes nécessaires pour conserver un fichier journal avant de le supprimer.  |  Apache Kafka par défaut  | 
|  max.connection.creation.rate  |  Le taux de création de connexion maximal autorisé dans le broker à tout moment.  |  Apache Kafka par défaut  | 
|  connexions max.  |  Le nombre maximum de connexions autorisées dans le broker à tout moment. Cette limite est appliquée en plus des limites par adresse IP configurées à l'aide `max.connections.per.ip` de.  |  Apache Kafka par défaut  | 
|  max.connections.per .ip  |  Le nombre maximum de connexions autorisées à partir de chaque adresse IP. Cela peut être défini sur `0` si des remplacements sont configurés à l'aide de la propriété max.connections.per.ip.overrides. Les nouvelles connexions à partir de l'adresse IP sont supprimées si la limite est atteinte.  |  Apache Kafka par défaut  | 
|  max.connections.per.ip.overrides  |  Une liste séparée par virgule d'adresses IP ou de noms d'hôte remplace le nombre maximal de connexions par défaut. Un exemple de valeur est `hostName:100,127.0.0.1:200`  | Apache Kafka par défaut | 
|  message.max.octets  |  La plus grande taille de lot d'enregistrement autorisée par Kafka. Si vous augmentez la valeur et qu'il y a des consommateurs plus anciens que 0.10.2, vous devez aussi augmenter la taille d'extraction des consommateurs afin qu'ils puissent récupérer des lots d'enregistrements aussi volumineux. La dernière version de format de message regroupe toujours les massages en lots pour plus d'efficacité. Les versions de format de message précédentes ne regroupent pas les enregistrements non compressés en lots et dans ce cas, cette limite ne s'applique qu'à un seul enregistrement. Vous pouvez définir cette valeur par sujet à l'aide de la `max.message.bytes` configuration au niveau du sujet.  | Apache Kafka par défaut | 
|  producteur.id.expiration.ms  |  Le temps, en ms, qu'un responsable de partition de sujets attendra avant d'expirer en tant que producteur IDs. Le producteur n' IDs expirera pas tant qu'une transaction qui lui est associée est toujours en cours. Notez que le producteur IDs peut expirer plus tôt si la dernière écriture provenant de l'identifiant du producteur est supprimée en raison des paramètres de conservation du sujet. La définition de cette valeur égale ou supérieure à cette valeur `delivery.timeout.ms` permet d'éviter l'expiration lors des nouvelles tentatives et de protéger contre la duplication des messages, mais la valeur par défaut doit être raisonnable dans la plupart des cas d'utilisation.  | Apache Kafka par défaut | 

## Configurations thématiques sur Express Brokers
<a name="msk-configuration-express-topic-configuration"></a>

Vous pouvez utiliser les commandes Apache Kafka pour définir ou modifier les propriétés de configuration au niveau des rubriques nouvelles et existantes. Si vous ne pouvez donner aucune configuration au niveau du sujet, Amazon MSK utilise le broker par défaut. Comme pour les configurations au niveau des courtiers, Amazon MSK protège certaines propriétés de configuration thématiques contre toute modification. Les exemples incluent le facteur de réplication `min.insync.replicas` et`unclean.leader.election.enable`. Si vous essayez de créer un sujet avec une valeur de facteur de réplication autre que`3`, Amazon MSK créera le sujet avec un facteur de réplication `3` par défaut. Pour de plus amples informations sur les propriétés de configuration au niveau de la rubrique et pour obtenir des exemples de définition, consultez [Configurations au niveau de la rubrique](https://kafka.apache.org/documentation/#topicconfigs) dans la documentation Apache Kafka.


| Propriété | Description | 
| --- | --- | 
|  cleanup.policy  |  Cette configuration indique la politique de rétention à utiliser sur les segments de log. La politique de « suppression » (qui est la règle par défaut) supprimera les anciens segments lorsque leur durée de conservation ou leur limite de taille seront atteintes. La politique « compacte » activera le compactage du journal, qui conserve la dernière valeur pour chaque clé. Il est également possible de spécifier les deux politiques dans une liste séparée par des virgules (par exemple, « supprimer, compacter »). Dans ce cas, les anciens segments seront supprimés conformément à la durée de rétention et à la configuration de taille, tandis que les segments conservés seront compactés. Le compactage sur les courtiers Express est déclenché lorsque les données d'une partition atteignent 256 Mo.  | 
|  compression.type  |  Spécifiez le type de compression final pour un sujet donné. Cette configuration accepte les codecs de compression standard (`gzip`,, `snappy``lz4`,`zstd`). Il accepte également `uncompressed` ce qui équivaut à l'absence de compression ; `producer` ce qui signifie conserver le codec de compression d'origine défini par le producteur.  | 
| supprimer.retention.ms |  Durée de conservation des marqueurs de pierre tombale supprimés pour les sujets compactés dans les journaux. Ce paramètre définit également le temps pendant lequel un consommateur doit terminer une lecture s'il part du décalage 0 afin de s'assurer d'obtenir un instantané valide de l'étape finale. Sinon, les pierres tombales supprimées pourraient être collectées avant qu'elles ne terminent leur numérisation. La valeur par défaut de ce paramètre est 86400000 (24 \$1 60 \$1 60 \$1 1 000 ms, soit 1 jour), Apache Kafka par défaut  | 
|  max.message.bytes  |  La plus grande taille de lot d'enregistrements autorisée par Kafka (après compression, si la compression est activée). Si ce chiffre est augmenté et que certains consommateurs sont plus âgés que cela`0.10.2`, la taille de récupération par les consommateurs doit également être augmentée afin qu'ils puissent récupérer des lots records de cette taille. Dans la dernière version du format de message, les enregistrements sont toujours regroupés en lots pour plus d'efficacité. Dans les versions de format de message précédentes, les enregistrements non compressés ne sont pas regroupés en lots et cette limite ne s'applique qu'à un seul enregistrement dans ce cas. Cela peut être défini par sujet avec le niveau du sujet`max.message.bytes config`.  | 
|  message.timestamp.after.max.ms  |  Cette configuration définit la différence d'horodatage autorisée entre l'horodatage du message et l'horodatage du courtier. L'horodatage du message peut être supérieur ou égal à l'horodatage du courtier, la différence maximale autorisée étant déterminée par la valeur définie dans cette configuration. Si`message.timestamp.type=CreateTime`, le message sera rejeté si la différence d'horodatage dépasse ce seuil spécifié. Cette configuration est ignorée si`message.timestamp.type=LogAppendTime`.  | 
|  message.timestamp.before.max.ms  |  Cette configuration définit la différence d'horodatage autorisée entre l'horodatage du broker et l'horodatage du message. L'horodatage du message peut être antérieur ou égal à l'horodatage du courtier, la différence maximale autorisée étant déterminée par la valeur définie dans cette configuration. Si`message.timestamp.type=CreateTime`, le message sera rejeté si la différence d'horodatage dépasse ce seuil spécifié. Cette configuration est ignorée si`message.timestamp.type=LogAppendTime`.  | 
|  message.timestamp.type  |  Définissez si l'horodatage du message est l'heure de création du message ou l'heure d'ajout du journal. La valeur doit être `CreateTime` soit `LogAppendTime`  | 
| min.compaction.lag.ms |  Durée minimale pendant laquelle un message restera non compacté dans le journal. Ce paramètre ne s'applique qu'aux journaux en cours de compactage. La valeur par défaut de ce paramètre est 0, Apache Kafka par défaut  | 
| max.compactage.lag.ms |  Durée maximale pendant laquelle un message restera inéligible au compactage dans le journal. Ce paramètre ne s'applique qu'aux journaux en cours de compactage. Cette configuration serait limitée à [7 jours, Long.Max]. La valeur par défaut de ce paramètre est 9223372036854775807, Apache Kafka Default.  | 
|  retention.bytes  |  Cette configuration contrôle la taille maximale qu'une partition (composée de segments de journal) peut atteindre avant que nous ne supprimions les anciens segments de journal pour libérer de l'espace si nous utilisons la politique de rétention « supprimer ». Par défaut, il n'y a pas de limite de taille, seulement une limite de temps. Comme cette limite est appliquée au niveau de la partition, multipliez-la par le nombre de partitions pour calculer la rétention du sujet en octets. De plus, `retention.bytes configuration` fonctionne indépendamment des `segment.bytes` configurations `segment.ms` et des configurations. De plus, il déclenche le lancement d'un nouveau segment s'`retention.bytes`il est configuré à zéro.  | 
|  retention.ms  |  Cette configuration contrôle la durée maximale pendant laquelle nous conserverons un journal avant de supprimer les anciens segments de journal afin de libérer de l'espace si nous utilisons la politique de conservation « supprimer ». Cela représente un SLA sur le délai dans lequel les consommateurs doivent lire leurs données. Si ce paramètre est défini sur`-1`, aucune limite de temps n'est appliquée. De plus, `retention.ms` la configuration fonctionne indépendamment `segment.ms` des `segment.bytes` configurations. De plus, il déclenche le lancement d'un nouveau segment si la `retention.ms` condition est satisfaite.  | 

# Configurations en lecture seule d'Express Brokers
<a name="msk-configuration-express-read-only"></a>

Amazon MSK définit les valeurs de ces configurations et les protège des modifications susceptibles d'affecter la disponibilité de votre cluster. Ces valeurs peuvent changer en fonction de la version d'Apache Kafka exécutée sur le cluster. Pensez donc à vérifier les valeurs de votre cluster spécifique.

Le tableau suivant répertorie les configurations en lecture seule pour les courtiers Express.


| Propriété | Description | Valeur d'Express Broker | 
| --- | --- | --- | 
| broker.id | L'identifiant du courtier pour ce serveur. | 1,2,3... | 
| broker.rack | Rack du courtier. Cela sera utilisé dans l'attribution de réplication adaptée au rack pour la tolérance aux pannes. Exemples : `RACK1`, `us-east-1d` | ID AZ ou ID de sous-réseau | 
|  default.replication.factor  |  Facteurs de réplication par défaut pour toutes les rubriques.  |  3  | 
| récupérer un maximum d'octets | Le nombre maximum d'octets que nous retournerons pour une demande de récupération. | Apache Kafka par défaut | 
| taille maximale du groupe | Le nombre maximum de consommateurs qu'un seul groupe de consommateurs peut accueillir. | Apache Kafka par défaut | 
| inter.broker.listener.name | Nom de l'auditeur utilisé pour les communications entre les courtiers. | REPLICATION\$1SECURE ou REPLICATION | 
| inter.broker.protocol.version | Spécifie la version du protocole inter-broker utilisée. | Apache Kafka par défaut | 
| écouteurs | Liste des auditeurs : liste séparée par des virgules des noms des auditeurs et des personnes URIs que nous écouterons. Vous pouvez définir leadvertised.listeners property, mais pas la listeners propriété. | Généré par MSK | 
| log.message.format.version | Spécifiez la version du format de message que le courtier utilisera pour ajouter des messages aux journaux. | Apache Kafka par défaut | 
| min.insync.replicas | Lorsqu'un producteur attribue à acks la valeur `all` (ou`-1`), la valeur in `min.insync.replicas` indique le nombre minimum de répliques qui doivent accuser réception d'une écriture pour que celle-ci soit considérée comme réussie. Si ce minimum ne peut être atteint, le producteur émet une exception (`NotEnoughReplicas`ou`NotEnoughReplicasAfterAppend`). Vous pouvez utiliser la valeur des sacs fournis par votre producteur pour renforcer les garanties de durabilité. En réglant les packs sur « tous ». Cela garantit que le producteur déclenche une exception si la majorité des réplicas ne reçoivent pas d'écriture. | 2 | 
| num.io.threads | Nombre de threads utilisés par le serveur pour produire des requêtes, qui peuvent inclure des E/S sur disque. (m7g.large, 8), (m7g.xlarge, 8), (m7g.2xlarge, 16), (m7g.4xlarge, 32), (m7g.8xlarge, 64), (m7g.12xlarge, 96), (m7g.16xlarge, 128) | En fonction du type d'instance. = Math.max (8, 2\$1 v) CPUs | 
| num.network.threads | Nombre de threads utilisés par le serveur pour recevoir les demandes du réseau et envoyer des réponses au réseau. (7 mg.large, 8), (m7g.xlarge, 8), (m7g.2xlarge, 8), (m7g.4 x large, 16), (m7g.8xlarge, 32), (m7g.12 x large, 48), (m7g.16 x large, 64) | En fonction du type d'instance. = Math.max (8, v) CPUs | 
| replica.fetch.response.max.bytes | Nombre maximal d'octets attendu pour l'ensemble de la réponse de récupération. Les enregistrements sont récupérés par lots, et si le premier lot d'enregistrements de la première partition non vide de l'extraction est supérieur à cette valeur, le lot d'enregistrements sera toujours renvoyé pour assurer la progression. Ce n'est pas un maximum absolu. Les propriétés message.max.bytes (configuration du courtier) ou max.message.bytes (configuration du sujet) spécifient la taille maximale du lot d'enregistrements acceptée par le courtier. | Apache Kafka par défaut | 
| request.timeout.ms | La configuration contrôle la durée maximale pendant laquelle le client attendra la réponse à une demande. Si la réponse n'est pas reçue avant l'expiration du délai imparti, le client renverra la demande si nécessaire ou échouera si les nouvelles tentatives sont épuisées. | Apache Kafka par défaut | 
| transaction.state.log.min.isr | min.insync.replicasConfiguration remplacée pour le sujet de transaction. | 2 | 
| transaction.state.log.replication.factor | Facteur de réplication de la rubrique de la transaction. | Apache Kafka par défaut | 
| unclean.leader.election.enable | Permet aux répliques ne figurant pas dans l'ISR de servir de référence en dernier recours, même si cela peut entraîner une perte de données. | FALSE | 

# Opérations de configuration du broker
<a name="msk-configuration-operations"></a>

Les configurations du broker Apache Kafka sont statiques ou dynamiques. Les configurations statiques nécessitent le redémarrage du broker pour que la configuration soit appliquée. Les configurations dynamiques ne nécessitent pas le redémarrage d'un broker pour que la configuration soit mise à jour. Pour plus d'informations sur les propriétés de configuration et les modes de mise à jour, consultez la section Configuration d'Apache Kafka. 

Cette rubrique décrit comment créer des configurations MSK personnalisées et effectuer des opérations sur celles-ci. Pour de plus amples informations sur l'utilisation des configurations MSK pour créer ou mettre à jour des clusters, reportez-vous à la section [Caractéristiques et concepts clés d'Amazon MSK](operations.md).

**Topics**
+ [Créer une configuration](msk-configuration-operations-create.md)
+ [Mise à jour de la configuration](msk-configuration-operations-update.md)
+ [Supprimer la configuration](msk-configuration-operations-delete.md)
+ [Obtenir les métadonnées de configuration](msk-configuration-operations-describe.md)
+ [Obtenir des informations sur la révision de la configuration](msk-configuration-operations-describe-revision.md)
+ [Répertorier les configurations de votre compte pour la région actuelle](msk-configuration-operations-list.md)
+ [États de configuration d'Amazon MSK](msk-configuration-states.md)

# Créer une configuration
<a name="msk-configuration-operations-create"></a>

Ce processus décrit comment créer une configuration Amazon MSK personnalisée et comment effectuer des opérations sur celle-ci.

1. Créez un fichier dans lequel vous spécifiez les propriétés de configuration à définir et les valeurs que vous souhaitez leur attribuer. Voici le contenu d'un exemple de fichier de configuration.

   ```
   auto.create.topics.enable = true
   
   log.roll.ms = 604800000
   ```

1. Exécutez la AWS CLI commande suivante et *config-file-path* remplacez-la par le chemin du fichier dans lequel vous avez enregistré votre configuration à l'étape précédente.
**Note**  
Le nom que vous choisissez pour votre configuration doit correspondre à la regex suivante : « ^[0-9A-Za-z][0-9A-Za-z-]\$10,\$1\$1 ».

   ```
   aws kafka create-configuration --name "ExampleConfigurationName" --description "Example configuration description." --kafka-versions "1.1.1" --server-properties fileb://config-file-path
   ```

   Voici un exemple de réponse réussie après l'exécution de cette commande.

   ```
   {
       "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1",
       "CreationTime": "2019-05-21T19:37:40.626Z",
       "LatestRevision": {
           "CreationTime": "2019-05-21T19:37:40.626Z",
           "Description": "Example configuration description.",
           "Revision": 1
       },
       "Name": "ExampleConfigurationName"
   }
   ```

1. La commande précédente renvoie un Amazon Resource Name (ARN) pour votre nouvelle configuration. Enregistrez cet ARN car vous en avez besoin pour faire référence à cette configuration dans d'autres commandes. Si vous perdez votre ARN de configuration, vous pouvez répertorier toutes les configurations de votre compte pour le retrouver.

# Mise à jour de la configuration
<a name="msk-configuration-operations-update"></a>

Ce processus décrit comment mettre à jour une configuration Amazon MSK personnalisée.

1. Créez un fichier dans lequel vous spécifiez les propriétés de configuration que vous souhaitez mettre à jour et les valeurs que vous souhaitez leur attribuer. Voici le contenu d'un exemple de fichier de configuration.

   ```
   auto.create.topics.enable = true
   
   min.insync.replicas = 2
   ```

1. Exécutez la AWS CLI commande suivante et *config-file-path* remplacez-la par le chemin du fichier dans lequel vous avez enregistré votre configuration à l'étape précédente.

   *configuration-arn*Remplacez-le par l'ARN que vous avez obtenu lors de la création de la configuration. Si vous n'avez pas enregistré l'ARN lorsque vous avez créé la configuration, vous pouvez utiliser la commande `list-configurations` pour répertorier toutes les configurations de votre compte. La configuration que vous souhaitez voir figurer dans la liste apparaît dans la réponse. L'ARN de la configuration apparaît également dans cette liste.

   ```
   aws kafka update-configuration --arn configuration-arn --description "Example configuration revision description." --server-properties fileb://config-file-path
   ```

1. Voici un exemple de réponse réussie après l'exécution de cette commande.

   ```
   {
       "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1",
       "LatestRevision": {
           "CreationTime": "2020-08-27T19:37:40.626Z",
           "Description": "Example configuration revision description.",
           "Revision": 2
       }
   }
   ```

# Supprimer la configuration
<a name="msk-configuration-operations-delete"></a>

La procédure suivante explique comment supprimer une configuration qui n'est pas attachée à un cluster. Vous ne pouvez pas supprimer une configuration attachée à un cluster.

1. Pour exécuter cet exemple, remplacez-le *configuration-arn* par l'ARN que vous avez obtenu lors de la création de la configuration. Si vous n'avez pas enregistré l'ARN lorsque vous avez créé la configuration, vous pouvez utiliser la commande `list-configurations` pour répertorier toutes les configurations de votre compte. La configuration que vous souhaitez voir figurer dans la liste apparaît dans la réponse. L'ARN de la configuration apparaît également dans cette liste.

   ```
   aws kafka delete-configuration --arn configuration-arn
   ```

1. Voici un exemple de réponse réussie après l'exécution de cette commande.

   ```
   {
       "arn": " arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1",
       "state": "DELETING"
   }
   ```

# Obtenir les métadonnées de configuration
<a name="msk-configuration-operations-describe"></a>

La procédure suivante explique comment décrire une configuration Amazon MSK pour obtenir des métadonnées relatives à cette configuration.

1. La commande suivante renvoie les métadonnées relatives à la configuration. Pour obtenir une description détaillée de la configuration, exécutez le `describe-configuration-revision`.

   Pour exécuter cet exemple, remplacez-le *configuration-arn* par l'ARN que vous avez obtenu lors de la création de la configuration. Si vous n'avez pas enregistré l'ARN lorsque vous avez créé la configuration, vous pouvez utiliser la commande `list-configurations` pour répertorier toutes les configurations de votre compte. La configuration que vous souhaitez voir figurer dans la liste apparaît dans la réponse. L'ARN de la configuration apparaît également dans cette liste.

   ```
   aws kafka describe-configuration --arn configuration-arn
   ```

1. Voici un exemple de réponse réussie après l'exécution de cette commande.

   ```
   {
       "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-abcd-1234-abcd-abcd123e8e8e-1",
       "CreationTime": "2019-05-21T00:54:23.591Z",
       "Description": "Example configuration description.",
       "KafkaVersions": [
           "1.1.1"
       ],
       "LatestRevision": {
           "CreationTime": "2019-05-21T00:54:23.591Z",
           "Description": "Example configuration description.",
           "Revision": 1
       },
       "Name": "SomeTest"
   }
   ```

# Obtenir des informations sur la révision de la configuration
<a name="msk-configuration-operations-describe-revision"></a>

Ce processus vous permet d'obtenir une description détaillée de la révision de la configuration Amazon MSK.

Si vous utilisez la commande `describe-configuration` pour décrire une configuration MSK, vous voyez les métadonnées de la configuration. Pour obtenir une description de la configuration, utilisez la commande `describe-configuration-revision`.
+ Exécutez la commande suivante et remplacez-la *configuration-arn* par l'ARN que vous avez obtenu lors de la création de la configuration. Si vous n'avez pas enregistré l'ARN lorsque vous avez créé la configuration, vous pouvez utiliser la commande `list-configurations` pour répertorier toutes les configurations de votre compte. La configuration que vous souhaitez voir figurer dans la liste apparaît dans la réponse. L'ARN de la configuration apparaît également dans cette liste.

  ```
  aws kafka describe-configuration-revision --arn configuration-arn --revision 1
  ```

  Voici un exemple de réponse réussie après l'exécution de cette commande.

  ```
  {
      "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-abcd-1234-abcd-abcd123e8e8e-1",
      "CreationTime": "2019-05-21T00:54:23.591Z",
      "Description": "Example configuration description.",
      "Revision": 1,
      "ServerProperties": "YXV0by5jcmVhdGUudG9waWNzLmVuYWJsZSA9IHRydWUKCgp6b29rZWVwZXIuY29ubmVjdGlvbi50aW1lb3V0Lm1zID0gMTAwMAoKCmxvZy5yb2xsLm1zID0gNjA0ODAwMDAw"
  }
  ```

  La valeur de `ServerProperties` est codée à l'aide de base64. Si vous utilisez un décodeur base64 (par exemple, https://www.base64decode.org/) pour le décoder manuellement, vous obtenez le contenu du fichier de configuration d'origine utilisé pour créer la configuration personnalisée. Dans ce cas, vous obtenez ce qui suit :

  ```
  auto.create.topics.enable = true
  
  log.roll.ms = 604800000
  ```

# Répertorier les configurations de votre compte pour la région actuelle
<a name="msk-configuration-operations-list"></a>

Ce processus décrit comment répertorier toutes les configurations Amazon MSK de votre compte pour la AWS région actuelle.
+ Exécutez la commande suivante.

  ```
  aws kafka list-configurations
  ```

  Voici un exemple de réponse réussie après l'exécution de cette commande.

  ```
  {
      "Configurations": [
          {
              "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-abcd-1234-abcd-abcd123e8e8e-1",
              "CreationTime": "2019-05-21T00:54:23.591Z",
              "Description": "Example configuration description.",
              "KafkaVersions": [
                  "1.1.1"
              ],
              "LatestRevision": {
                  "CreationTime": "2019-05-21T00:54:23.591Z",
                  "Description": "Example configuration description.",
                  "Revision": 1
              },
              "Name": "SomeTest"
          },
          {
              "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1",
              "CreationTime": "2019-05-03T23:08:29.446Z",
              "Description": "Example configuration description.",
              "KafkaVersions": [
                  "1.1.1"
              ],
              "LatestRevision": {
                  "CreationTime": "2019-05-03T23:08:29.446Z",
                  "Description": "Example configuration description.",
                  "Revision": 1
              },
              "Name": "ExampleConfigurationName"
          }
      ]
  }
  ```

# États de configuration d'Amazon MSK
<a name="msk-configuration-states"></a>

Une configuration Amazon MSK peut avoir l'un des états suivants. Pour effectuer une opération sur une configuration, celle-ci doit être à l'état `ACTIVE` ou `DELETE_FAILED` :
+ `ACTIVE`
+ `DELETING`
+ `DELETE_FAILED`