

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# MSK Express のカスタムブローカー設定 (読み取り / 書き込みアクセス)
<a name="msk-configuration-express-read-write"></a>

読み取り / 書き込みブローカーの設定は、Amazon MSK の[設定の更新機能](msk-update-cluster-config.md)を使用するか、Apache Kafka の AlterConfig API を使用して更新できます。Apache Kafka ブローカー設定は静的または動的のどちらか一方です。静的設定を適用するにはブローカーの再起動が必要ですが、動的設定にはブローカーの再起動は必要ありません。設定プロパティと更新モードの詳細については、「[ブローカー設定の更新](https://kafka.apache.org/documentation/#dynamicbrokerconfigs)」を参照してください。

**Topics**
+ [MSK Express ブローカーの静的設定](#msk-configuration-express-static-configuration)
+ [Express ブローカーの動的設定](#msk-configuration-express-dynamic-configuration)
+ [Express ブローカーのトピックレベルの設定](#msk-configuration-express-topic-configuration)

## MSK Express ブローカーの静的設定
<a name="msk-configuration-express-static-configuration"></a>

Amazon MSK を使用してカスタム MSK 設定ファイルを作成し、以下の静的プロパティを設定できます。Amazon MSK は、ユーザーが設定していないその他のすべてのプロパティを設定および管理します。静的設定ファイルは、MSK コンソールまたは [configurations コマンド](msk-configuration-operations-create.md)を使用して作成および更新できます。


| プロパティ | 説明 | デフォルト値 | 
| --- | --- | --- | 
|  allow.everyone.if.no.acl.found  |  このプロパティを false に設定する場合は、最初にクラスターに Apache Kafka ACL を定義していることを確認してください。事前に Apache Kafka ACL を定義していない場合、このプロパティを誤って設定すると、クラスターにアクセスできなくなります。その場合は、設定を再度更新し、このプロパティを正確に設定することで、クラスターへのアクセスを回復できます。  |  true  | 
|  auto.create.topics.enable  |  サーバー上のトピックの自動作成を有効にします。  |  false  | 
| compression.type |  特定のトピックに対する最終的な圧縮タイプを指定する。この設定では、標準の圧縮コーデックである gzip、snappy、lz4、zstd を受け入れます。 この設定では、さらに、圧縮なしと同等および「`producer`」の、生成元が設定した元の圧縮コーデックを保持する「`uncompressed`」も受け付けます。 | Apache Kafka のデフォルト | 
|  connections.max.idle.ms  |  アイドル接続のタイムアウト (ミリ秒単位)。サーバーソケットプロセッサスレッドは、接続のアイドル状態がこのプロパティに対して設定されている値を超えると、その接続を閉じます。  |  Apache Kafka のデフォルト  | 
|  delete.topic.enable  |  トピックの削除オペレーションを有効にします。この設定をオフにすると、管理ツールからトピックを削除することができません。  |  Apache Kafka のデフォルト  | 
|  group.initial.rebalance.delay.ms  |   グループコーディネーターが、最初の再調整を実行する前に、新しいグループに追加のデータコンシューマーが参加するのを待機する時間。遅延を長くすると再調整を減らせる可能性がありますが、処理が開始されるまでの時間が長くなります。  |  Apache Kafka のデフォルト  | 
|  group.max.session.timeout.ms  |  登録されたコンシューマーの最大セッションタイムアウト。タイムアウトを長くすると、コンシューマーはハートビート間でより多くの時間をメッセージの処理に使用できるようになりますが、その代償として、障害検出に要する時間が長くなります。  |  Apache Kafka のデフォルト  | 
|  leader.imbalance.per.broker.percentage  |  ブローカーごとに許容されるリーダーの不均衡率。ブローカーごとにこの値を超えると、コントローラーはリーダーバランスをトリガーします。この値はパーセントで指定されます。  |  Apache Kafka のデフォルト  | 
| log.cleanup.policy | 保存ウィンドウ外のセグメントのデフォルトのクリーンアップポリシー。カンマ区切りの有効なポリシーのリスト。有効なポリシーは delete および compact です。階層型ストレージに対応したクラスターの場合、有効なポリシーは、次の delete のみです。 | Apache Kafka のデフォルト | 
| log.message.timestamp.after.max.ms |  メッセージのタイムスタンプおよびブローカーのタイムスタンプの間の許容されるタイムスタンプの差。メッセージのタイムスタンプはブローカーのタイムスタンプと同じ、またはそれ以降であってもよく、その最大許容差はこの設定で指定された値によって決まります。 `log.message.timestamp.type=CreateTime` の場合、タイムスタンプの差がこの指定されたしきい値を超えるとメッセージは拒否されます。`log.message.timestamp.type=LogAppendTime` の場合、この設定は無視されます。  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms、要するに 1 日) | 
| log.message.timestamp.before.max.ms |  ブローカーのタイムスタンプとメッセージタイムスタンプの許容されるタイムスタンプの差。メッセージのタイムスタンプはブローカーのタイムスタンプと同じ、またはそれ以前であってもよく、その最大許容差はこの設定で指定された値によって決まります。 `log.message.timestamp.type=CreateTime` の場合、タイムスタンプの差がこの指定されたしきい値を超えるとメッセージは拒否されます。`log.message.timestamp.type=LogAppendTime` の場合、この設定は無視されます。  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms、要するに 1 日) | 
| log.message.timestamp.type | メッセージ内のタイムスタンプがメッセージの作成時刻であるか、ログの追加時刻であるかを指定します。指定できる値は、CreateTime および LogAppendTime です。 | Apache Kafka のデフォルト | 
| log.retention.bytes | 削除する前のログの最大サイズ。 | Apache Kafka のデフォルト | 
| log.retention.ms | ログファイルを削除する前に保持するミリ秒数。 | Apache Kafka のデフォルト | 
| max.connections.per.ip | 各 IP アドレスから許可される最大接続数。これは、max.connections.per.ip.overrides プロパティを使用してオーバーライドが設定されている場合、0 に設定できます。制限値に達した場合、その IP アドレスからの新規接続は切断されます。 | Apache Kafka のデフォルト | 
|  max.incremental.fetch.session.cache.slots  |  維持される増分取得セッションの最大数。  |  Apache Kafka のデフォルト  | 
| message.max.bytes |  Kafka が許容する最大レコードバッチサイズ。この値を増やし、0.10.2 より古いコンシューマーが存在する場合、コンシューマーの取得サイズも増やして、この大きさのレコードバッチを取得できるようにする必要があります。 最新のメッセージ形式バージョンでは、効率を上げるために、常にメッセージがバッチにグループ化されます。以前のメッセージ形式バージョンでは、非圧縮レコードはバッチにグループ化されません。その場合、この制限は単一のレコードにのみ適用されます。トピックレベル `max.message.bytes` の設定により、この値をトピックごとに設定できます。  | Apache Kafka のデフォルト | 
|  num.partitions  |  各トピックに対するデフォルトのパーティション数。  |  1  | 
|  offsets.retention.minutes  |  コンシューマーグループがすべてのコンシューマーを失う (つまり、空になる) と、オフセットはこの保持期間にわたって保持されてから破棄されます。スタンドアロンの消費者 (手動割り当てを使用するコンシューマー) の場合、オフセットは、最後のコミットの時刻に、この保持期間を加えた時刻に有効期限切れになります。  |  Apache Kafka のデフォルト  | 
|  replica.fetch.max.bytes  |  パーティションごとに取得しようとするメッセージのバイト数。これは絶対最大値ではありません。フェッチの空でない最初のパーティションの最初のレコードバッチがこの値より大きい場合、進行を保証するためにそのレコードバッチが返されます。message.max.bytes (ブローカー設定) または max.message.bytes (トピック設定) は、ブローカーが受け入れる最大レコードバッチサイズを定義します。  |  Apache Kafka のデフォルト  | 
|  replica.selector.class  |  ReplicaSelector を実装する完全修飾クラス名。ブローカーは、この値を使用して優先リードレプリカを見つけます。消費者が最も近いレプリカから取得できるようにするには、このプロパティ`org.apache.kafka.common.replica.RackAwareReplicaSelector`を設定してください。  |  Apache Kafka のデフォルト  | 
|  socket.receive.buffer.bytes  |  ソケットサーバーソケットの SO\$1RCVBUF バッファー。値が -1 の場合、OS のデフォルトが使用されます。  |  102400  | 
|  socket.request.max.bytes  |  ソケットリクエストの最大バイト数。  |  104857600  | 
|  socket.send.buffer.bytes  |  ソケットサーバーソケットの SO\$1SNDBUF バッファー。値が -1 の場合、OS のデフォルトが使用されます。  |  102400  | 
|  transaction.max.timeout.ms  |  トランザクションの最大タイムアウト。クライアントのリクエストしたトランザクション時間がこの値を超えると、ブローカーは InitProducerIdRequest でエラーを返します。これにより、クライアントが大きすぎるタイムアウトを設定するのを防ぎ、トランザクションに含まれるトピックから読み取りを行うコンシューマーが停止するのを回避することができます。  |  Apache Kafka のデフォルト  | 
|  transactional.id.expiration.ms  |  トランザクションコーディネーターが、トランザクション ID を有効期限切れにする前に、現在のトランザクションのトランザクションステータスの更新の受信を待機する時間 (ミリ秒単位)。この設定は、プロデューサー ID の有効期限にも影響します。これは、指定されたプロデューサー ID の有効期限は、指定されたプロデューサー ID での最後の書き込みからこの時間が経過すると切れるためです。トピックの保持設定が原因でプロデューサー ID からの最後の書き込みが削除された場合、プロデューサー ID の有効期限切れが早くなる可能性があります。このプロパティの最小値は 1 ミリ秒です。  |  Apache Kafka のデフォルト  | 

## Express ブローカーの動的設定
<a name="msk-configuration-express-dynamic-configuration"></a>

Apache Kafka AlterConfig API または Kafka-configs.sh ツールを使用して、次の動的設定を編集できます。Amazon MSK は、ユーザーが設定していないその他のすべてのプロパティを設定および管理します。ブローカーの再起動を必要としない クラスター-レベルおよびブローカーレベルの設定プロパティを動的に設定できます。


| プロパティ | 説明 | デフォルトの値 | 
| --- | --- | --- | 
|  advertised.listeners  |  `listeners` 設定プロパティと異なる場合、クライアントが使用するためのリスナーを公開します。IaaS 環境では、これはブローカーがバインドするインターフェイスとは異なる必要がある場合があります。これを設定しない場合、リスナー の値が使用されます。リスナーとは異なり、0.0.0.0 のメタアドレスを advertise (公開) として指定することはできません。 また、`listeners` とは異なり、このプロパティでは ポート番号の重複が許可されており、その結果、あるリスナーが別のリスナーのアドレスを advertise (公開) するように設定することができます。外部ロードバランサーが使用されている場合、これが有用な場合があります。 このプロパティはブローカーごとに設定されます。  |  null  | 
|  compression.type  |  特定のトピックの最終的な圧縮タイプ。このプロパティは、スタンダードの圧縮コーデック (`gzip`、`snappy`、`lz4`、および `zstd`) に設定できます。また、`uncompressed` に設定することもできます。この値は、圧縮しないことと同等です。値を `producer` に設定すると、プロデューサーが設定した元の圧縮コーデックが保持されます。  | Apache Kafka のデフォルト | 
| log.cleaner.delete.retention.ms | ログ圧縮が有効なトピックにおいて、削除用トゥームストーンマーカーを保持する期間。この設定は、コンシューマーがオフセット 0 から読み取りを開始した場合に、最終状態の有効なスナップショットを取得するために、読み取りを完了しなければならない時間の上限も定めます。そうしないと、スキャンが完了する前に削除用トゥームストーンが収集される場合があります。 | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms、要するに 1 日)、Apache Kafka デフォルト | 
| log.cleaner.min.compaction.lag.ms | ログ内でメッセージが圧縮されずに保持される最小時間。この設定は、圧縮処理中のログにのみ適用されます。 | 0、Apache Kafka デフォルト | 
| log.cleaner.max.compaction.lag.ms | ログ内でメッセージが圧縮対象外のままとなる最大時間。この設定は、圧縮処理中のログにのみ適用されます。この設定は、[7日間、Long.Max] の範囲に制限されます。 | 9223372036854775807、Apache Kafka デフォルト | 
|  log.cleanup.policy  |  保存ウィンドウ外のセグメントのデフォルトのクリーンアップポリシー。カンマ区切りの有効なポリシーのリスト。有効なポリシーは `delete` および `compact` です。階層型ストレージに対応したクラスターの場合、有効なポリシーは、次の `delete` のみです。  | Apache Kafka のデフォルト | 
|  log.message.timestamp.after.max.ms  |  メッセージのタイムスタンプおよびブローカーのタイムスタンプの間の許容されるタイムスタンプの差。メッセージのタイムスタンプはブローカーのタイムスタンプと同じ、またはそれ以降であってもよく、その最大許容差はこの設定で指定された値によって決まります。`log.message.timestamp.type=CreateTime` の場合、タイムスタンプの差がこの指定されたしきい値を超えるとメッセージは拒否されます。`log.message.timestamp.type=LogAppendTime` の場合、この設定は無視されます。  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms、要するに 1 日) | 
|  log.message.timestamp.before.max.ms  |  ブローカーのタイムスタンプとメッセージタイムスタンプの許容されるタイムスタンプの差。メッセージのタイムスタンプはブローカーのタイムスタンプと同じ、またはそれ以前であってもよく、その最大許容差はこの設定で指定された値によって決まります。`log.message.timestamp.type=CreateTime` の場合、タイムスタンプの差がこの指定されたしきい値を超えるとメッセージは拒否されます。`log.message.timestamp.type=LogAppendTime` の場合、この設定は無視されます。  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms、要するに 1 日) | 
|  log.message.timestamp.type  |  メッセージ内のタイムスタンプがメッセージの作成時刻であるか、ログの追加時刻であるかを指定します。指定できる値は、`CreateTime` および `LogAppendTime` です。  | Apache Kafka のデフォルト | 
|  log.retention.bytes  |  削除する前のログの最大サイズ。  |  Apache Kafka のデフォルト  | 
|  log.retention.ms  |  ログファイルを削除する前に保持するミリ秒数。  |  Apache Kafka のデフォルト  | 
|  max.connection.creation.rate  |  ブローカーでいつでも許可される最大接続作成レート。  |  Apache Kafka のデフォルト  | 
|  max.connections  |  ブローカーで同時に許可される接続の最大数。この制限は、`max.connections.per.ip` を使用して設定された IP ごとの制限に加えて適用されます。  |  Apache Kafka のデフォルト  | 
|  max.connections.per.ip  |  各 IP アドレスから許可される最大接続数。これは、max.connections.per.ip.overrides プロパティを使用してオーバーライドが設定されている場合、`0` に設定できます。制限値に達した場合、その IP アドレスからの新規接続は切断されます。  |  Apache Kafka のデフォルト  | 
|  max.connections.per.ip.overrides  |  デフォルトの最大接続数に対する、IP アドレスまたはホスト名ごとのオーバーライドをコンマ区切りで列挙したリスト。例として値は `hostName:100,127.0.0.1:200` です  | Apache Kafka のデフォルト | 
|  message.max.bytes  |  Kafka が許容する最大レコードバッチサイズ。この値を増やし、0.10.2 より古いコンシューマーが存在する場合、コンシューマーの取得サイズも増やして、この大きさのレコードバッチを取得できるようにする必要があります。最新のメッセージ形式バージョンでは、効率を上げるために、常にメッセージがバッチにグループ化されます。以前のメッセージ形式バージョンでは、非圧縮レコードはバッチにグループ化されません。その場合、この制限は単一のレコードにのみ適用されます。トピックレベル `max.message.bytes` の設定により、この値をトピックごとに設定できます。  | Apache Kafka のデフォルト | 
|  producer.id.expiration.ms  |  トピックパーティションリーダーがプロデューサー ID を期限切れにする前に待機する時間 (ミリ秒単位) プロデューサー ID は、関連するトランザクションが進行中の間は有効期限切れになりません。プロデューサー ID は、トピックの保持設定によりそのプロデューサー ID からの最後の書き込みが削除された場合、より早く期限切れになる可能性があることに注意してください。この値を再試行中に期限切れを防ぐため、またメッセージの重複を防止するために、同じまたは、`delivery.timeout.ms`それ以上に設定することが有効です。ただし、ほとんどのユースケースではデフォルト値で十分です。  | Apache Kafka のデフォルト | 

## Express ブローカーのトピックレベルの設定
<a name="msk-configuration-express-topic-configuration"></a>

Apache Kafka コマンドを使用して、新規および既存のトピックのトピックレベルの設定プロパティを設定するか変更することができます。トピックレベルの設定を指定できない場合、Amazon MSK はブローカーのデフォルト設定を使用します。ブローカーレベルの設定と同様に、Amazon MSK はトピックレベルの設定プロパティの一部を変更から保護します。例としては、レプリケーション係数、`min.insync.replicas`、`unclean.leader.election.enable` などがあります。レプリケーション係数の値が`3`以外の値でトピックを作成しようとすると、Amazon MSK はデフォルトでレプリケーション係数`3` が設定されたトピックを作成します。トピックレベルの設定プロパティの詳細と設定方法の例については、Apache Kafka のドキュメントの「[Topic-Level Configs](https://kafka.apache.org/documentation/#topicconfigs)」を参照してください。


| プロパティ | 説明 | 
| --- | --- | 
|  cleanup.policy  |  この設定は、ログセグメントで使用する保持ポリシーを指定します。「削除」ポリシー (デフォルト) は、古いセグメントの保持期間またはサイズ制限に達した場合にそれらを破棄します。「コンパクト」ポリシーはログ圧縮を有効にし、各キーに対して最新の値を保持します。両方のポリシーをカンマ区切りで指定することも可能です (例: 「delete,compact」)。この場合、保持時間とサイズの設定に基づき古いセグメントは破棄され、保持されたセグメントは圧縮されます。Express ブローカーにおける圧縮は、パーティション内のデータが 256 MB に達した後にトリガーされます。  | 
|  compression.type  |  特定のトピックに対する最終的な圧縮タイプを指定する。この設定は、標準の圧縮コーデック (`gzip`、`snappy`、`lz4`、`zstd`) を受け入れます。さらに、圧縮なし、および`producer`同等の設定を受け入れます`uncompressed`;これは、プロデューサーが設定した元の圧縮コーデックを保持することを意味します。  | 
| delete.retention.ms |  ログ圧縮が有効なトピックにおいて、削除用トゥームストーンマーカーを保持する期間。この設定は、コンシューマーがオフセット 0 から読み取りを開始した場合に、最終状態の有効なスナップショットを取得するために、読み取りを完了しなければならない時間の上限も定めます。そうしないと、スキャンが完了する前に削除用トゥームストーンが収集される場合があります。 この設定のデフォルト値は 86400000 (24 \$1 60 \$1 60 \$1 1000 ms、要するに 1 日)、Apache Kafka Default  | 
|  max.message.bytes  |  Kafka が許可する最大レコードバッチサイズ (圧縮が有効な場合、圧縮後のサイズ)。この値を増やし、より年長の消費者が存在する場合は、消費者がこれほど大きなレコードバッチを取得できるように、`0.10.2`消費者のフェッチサイズも増やす必要がある。最新のメッセージ形式バージョンでは、効率を上げるために、レコードは常にバッチにグループ化されます。以前のメッセージ形式バージョンでは、圧縮されていないレコードはバッチにグループ化されず、この制限は単一のレコードにのみ適用されます。これは、トピックレベルの`max.message.bytes config`でトピックごとに設定できます。  | 
|  message.timestamp.after.max.ms  |  この設定は、メッセージのタイムスタンプとブローカーのタイムスタンプの間の許容されるタイムスタンプ差を設定します。メッセージのタイムスタンプはブローカーのタイムスタンプと同じ、またはそれ以降であってもよく、その最大許容差はこの設定で指定された値によって決まります。`message.timestamp.type=CreateTime` の場合、タイムスタンプの差がこの指定されたしきい値を超えるとメッセージは拒否されます。`message.timestamp.type=LogAppendTime` の場合、この設定は無視されます。  | 
|  message.timestamp.before.max.ms  |  この設定は、ブローカーのタイムスタンプとメッセージのタイムスタンプの間の許容されるタイムスタンプ差を設定します。メッセージのタイムスタンプはブローカーのタイムスタンプと同じ、またはそれ以前であってもよく、その最大許容差はこの設定で指定された値によって決まります。`message.timestamp.type=CreateTime` の場合、タイムスタンプの差がこの指定されたしきい値を超えるとメッセージは拒否されます。`message.timestamp.type=LogAppendTime` の場合、この設定は無視されます。  | 
|  message.timestamp.type  |  メッセージ内のタイムスタンプが、メッセージ作成時刻であるか ログ 追記時刻かを定義する。この値は `CreateTime` または `LogAppendTime` のいずれかでなければなりません  | 
| min.compaction.lag.ms |  ログ内でメッセージが圧縮されずに保持される最小時間。この設定は、圧縮処理中のログにのみ適用されます。 この設定のデフォルト値は 0、Apache Kafka Default  | 
| max.compaction.lag.ms |  ログ内でメッセージが圧縮対象外のままとなる最大時間。この設定は、圧縮処理中のログにのみ適用されます。この設定は、[7日間、Long.Max] の範囲に制限されます。 この設定のデフォルト値は 9223372036854775807、Apache Kafka Default です。  | 
|  retention.bytes  |  この設定は、パーティション (ログセグメントで構成される) が成長できる最大サイズを制御します。これにより、「削除」保持ポリシーを使用している場合に、古いログセグメントを破棄してスペースを確保するタイミングを決定します。デフォルトではサイズ制限はなく、時間制限のみが設定されています。この制限はパーティションレベルで適用されるため、パーティションの数を掛けてトピックの保持をバイト単位で計算します。さらに、`retention.bytes configuration` は `segment.ms` および `segment.bytes` 設定とは独立して動作します。さらに、`retention.bytes`がゼロに設定されている場合、新しいセグメントのローリングが開始されます。  | 
|  retention.ms  |  この設定は、「削除」保持ポリシーを使用している場合に、古いログセグメントを破棄して空き領域を確保する前に、ログを保持する最大時間を制御します。これは、消費者がデータを読み取るまでの所要時間に関する SLA (サービスレベル契約) を表しています。`-1` に設定する場合、時間制限は適用されません。さらに、`retention.ms` 設定は `segment.ms` および `segment.bytes` 設定とは独立して動作します。さらに、`retention.ms`条件が満たされた場合、新しいセグメントのローリングが開始されます。  | 