翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
カスタム MSK Express ブローカー設定 (読み取り/書き込みアクセス)
読み取り/書き込みブローカーの設定は、Amazon MSK の「設定の更新」機能を使用するか、Apache Kafka の AlterConfig API を使用して更新できます。Apache Kafka ブローカー設定は静的または動的のどちらか一方です。静的設定を適用するにはブローカーの再起動が必要ですが、動的設定にはブローカーの再起動は必要ありません。設定プロパティと更新モードの詳細については、「ブローカー設定の更新」
MSK Express ブローカーの静的設定
Amazon MSK を使用してカスタム MSK 設定ファイルを作成し、以下の静的プロパティを設定できます。Amazon MSK は、ユーザーが設定していないその他のすべてのプロパティを設定および管理します。静的設定ファイルは、MSK コンソールまたは configurations コマンドを使用して作成および更新できます。
| プロパティ | 説明 | デフォルト値 |
|---|---|---|
|
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 を受け入れます。 この設定では、さらに、圧縮なしと同等および「 |
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 |
メッセージのタイムスタンプおよびブローカーのタイムスタンプの間の許容されるタイムスタンプの差。メッセージのタイムスタンプはブローカーのタイムスタンプより遅い、またはそれと同じであることが可能であり、許容される最大差分は、この設定で指定された値によって決定される。
|
86400000 (24 * 60 * 60 * 1000 ms、要するに 1 日) |
| log.message.timestamp.before.max.ms |
ブローカーのタイムスタンプとメッセージタイムスタンプの許容されるタイムスタンプの差。メッセージのタイムスタンプはブローカーのタイムスタンプより早い、またはそれと同等であることが可能であり、許容される最大差分はこの設定で指定された値によって決定されます。
|
86400000 (24 * 60 * 60 * 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 より古いコンシューマーが存在する場合、コンシューマーの取得サイズも増やして、この大きさのレコードバッチを取得できるようにする必要があります。 最新のメッセージ形式バージョンでは、効率を上げるために、常にメッセージがバッチにグループ化されます。以前のメッセージ形式バージョンでは、非圧縮レコードはバッチにグループ化されません。その場合、この制限は単一のレコードにのみ適用されます。トピックレベル |
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 を実装する完全修飾クラス名。ブローカーは、この値を使用して優先リードレプリカを見つけます。消費者が最も近いレプリカから取得できるようにするには、このプロパティ |
Apache Kafka のデフォルト |
|
socket.receive.buffer.bytes |
ソケットサーバーソケットの SO_RCVBUF バッファー。値が -1 の場合、OS のデフォルトが使用されます。 |
102400 |
|
socket.request.max.bytes |
ソケットリクエストの最大バイト数。 |
104857600 |
|
socket.send.buffer.bytes |
ソケットサーバーソケットの SO_SNDBUF バッファー。値が -1 の場合、OS のデフォルトが使用されます。 |
102400 |
|
transaction.max.timeout.ms |
トランザクションの最大タイムアウト。クライアントのリクエストしたトランザクション時間がこの値を超えると、ブローカーは InitProducerIdRequest でエラーを返します。これにより、クライアントが大きすぎるタイムアウトを設定するのを防ぎ、トランザクションに含まれるトピックから読み取りを行うコンシューマーが停止するのを回避することができます。 |
Apache Kafka のデフォルト |
|
transactional.id.expiration.ms |
トランザクションコーディネーターが、トランザクション ID を有効期限切れにする前に、現在のトランザクションのトランザクションステータスの更新の受信を待機する時間 (ミリ秒単位)。この設定は、プロデューサー ID の有効期限にも影響します。これは、指定されたプロデューサー ID の有効期限は、指定されたプロデューサー ID での最後の書き込みからこの時間が経過すると切れるためです。トピックの保持設定が原因でプロデューサー ID からの最後の書き込みが削除された場合、プロデューサー ID の有効期限切れが早くなる可能性があります。このプロパティの最小値は 1 ミリ秒です。 |
Apache Kafka のデフォルト |
Express ブローカーの動的設定
Apache Kafka AlterConfig API または Kafka-configs.sh ツールを使用して、次の動的設定を編集できます。Amazon MSK は、ユーザーが設定していないその他のすべてのプロパティを設定および管理します。ブローカーの再起動を必要としない クラスター-レベルおよびブローカーレベルの設定プロパティを動的に設定できます。
| プロパティ | 説明 | デフォルトの 値 |
|---|---|---|
|
advertised.listeners |
また、 このプロパティはブローカーごとに設定されます。 |
null |
|
compression.type |
特定のトピックの最終的な圧縮タイプ。このプロパティは、スタンダードの圧縮コーデック ( |
Apache Kafka のデフォルト |
| log.cleaner.delete.retention.ms | ログ圧縮されたトピックの削除用ツームストーンマーカーを保持する時間。この設定は、最終段階の有効なスナップショットを取得するために、消費者がオフセット 0 から開始した場合に読み取りを完了する必要がある時間にも制限を与えます。そうしないと、スキャンが完了する前に削除用ツームストーンが収集される場合があります。 | 86400000 (24 * 60 * 60 * 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 |
保存ウィンドウ外のセグメントのデフォルトのクリーンアップポリシー。カンマ区切りの有効なポリシーのリスト。有効なポリシーは |
Apache Kafka のデフォルト |
|
log.message.timestamp.after.max.ms |
メッセージのタイムスタンプおよびブローカーのタイムスタンプの間の許容されるタイムスタンプの差。メッセージのタイムスタンプはブローカーのタイムスタンプより遅い、またはそれと同じであることが可能であり、許容される最大差分は、この設定で指定された値によって決定される。 |
86400000 (24 * 60 * 60 * 1000 ms、要するに 1 日) |
|
log.message.timestamp.before.max.ms |
ブローカーのタイムスタンプとメッセージタイムスタンプの許容されるタイムスタンプの差。メッセージのタイムスタンプはブローカーのタイムスタンプより早い、またはそれと同等であることが可能であり、許容される最大差分はこの設定で指定された値によって決定されます。 |
86400000 (24 * 60 * 60 * 1000 ms、要するに 1 日) |
|
log.message.timestamp.type |
メッセージ内のタイムスタンプがメッセージの作成時刻であるか、ログの追加時刻であるかを指定します。指定できる値は、 |
Apache Kafka のデフォルト |
|
log.retention.bytes |
削除する前のログの最大サイズ。 |
Apache Kafka のデフォルト |
|
log.retention.ms |
ログファイルを削除する前に保持するミリ秒数。 |
Apache Kafka のデフォルト |
|
max.connection.creation.rate |
ブローカーでいつでも許可される最大接続作成レート。 |
Apache Kafka のデフォルト |
|
max.connections |
ブローカーで同時に許可される接続の最大数。この制限は、 |
Apache Kafka のデフォルト |
|
max.connections.per.ip |
各 IP アドレスから許可される最大接続数。これは、max.connections.per.ip.overrides プロパティを使用してオーバーライドが設定されている場合、 |
Apache Kafka のデフォルト |
|
max.connections.per.ip.overrides |
デフォルトの最大接続数に対する、IP アドレスまたはホスト名ごとのオーバーライドをコンマ区切りで列挙したリスト。例として値は |
Apache Kafka のデフォルト |
|
message.max.bytes |
Kafka が許容する最大レコードバッチサイズ。この値を増やし、0.10.2 より古いコンシューマーが存在する場合、コンシューマーの取得サイズも増やして、この大きさのレコードバッチを取得できるようにする必要があります。最新のメッセージ形式バージョンでは、効率を上げるために、常にメッセージがバッチにグループ化されます。以前のメッセージ形式バージョンでは、非圧縮レコードはバッチにグループ化されません。その場合、この制限は単一のレコードにのみ適用されます。トピックレベル |
Apache Kafka のデフォルト |
|
producer.id.expiration.ms |
トピックパーティションリーダーがプロデューサー ID を期限切れにする前に待機する時間 (ミリ秒単位) プロデューサー ID は、関連するトランザクションが進行中の間は有効期限切れになりません。プロデューサー ID は、トピックの保持設定によりそのプロデューサー ID からの最後の書き込みが削除された場合、より早く期限切れになる可能性があることに注意してください。この値を再試行中に期限切れを防ぐため、またメッセージの重複を防止するために、同じまたは、 |
Apache Kafka のデフォルト |
Express ブローカーのトピックレベルの設定
Apache Kafka コマンドを使用して、新規および既存のトピックのトピックレベルの設定プロパティを設定するか変更することができます。トピックレベルの設定を指定できない場合、Amazon MSK はブローカーのデフォルト設定を使用します。ブローカーレベルの設定と同様に、Amazon MSK はトピックレベルの設定プロパティの一部を変更から保護します。例としては、レプリケーション係数、min.insync.replicas、unclean.leader.election.enable などがあります。レプリケーション係数の値が3以外の値でトピックを作成しようとすると、Amazon MSK はデフォルトでレプリケーション係数3 が設定されたトピックを作成します。トピックレベルの設定プロパティの詳細と設定方法の例については、Apache Kafka のドキュメントの「Topic-Level Configs
| プロパティ | 説明 |
|---|---|
|
cleanup.policy |
この設定は、ログセグメントで使用する保持ポリシーを指定します。「削除」ポリシー (デフォルト) は、古いセグメントの保持期間またはサイズ制限に達した場合にそれらを破棄します。「コンパクト」ポリシーはログ圧縮を有効にし、各キーに対して最新の値を保持します。両方のポリシーをカンマ区切りで指定することも可能です (例: 「delete,compact」)。この場合、保持時間とサイズの設定に基づき古いセグメントは破棄され、保持されたセグメントは圧縮されます。Express ブローカーにおける圧縮は、パーティション内のデータが 256 MB に達した後にトリガーされます。 |
|
compression.type |
特定のトピックに対する最終的な圧縮タイプを指定する。この設定は、標準の圧縮コーデック ( |
| delete.retention.ms |
ログ圧縮されたトピックの削除用ツームストーンマーカーを保持する時間。この設定は、最終段階の有効なスナップショットを取得するために、消費者がオフセット 0 から開始した場合に読み取りを完了する必要がある時間にも制限を与えます。そうしないと、スキャンが完了する前に削除用ツームストーンが収集される場合があります。 この設定のデフォルト値は 86400000 (24 * 60 * 60 * 1000 ms、要するに 1 日)、Apache Kafka Default |
|
max.message.bytes |
Kafka が許可する最大レコードバッチサイズ (圧縮が有効な場合、圧縮後のサイズ)。この値を増やし、より年長の消費者が存在する場合は、消費者がこれほど大きなレコードバッチを取得できるように、 |
|
message.timestamp.after.max.ms |
この設定は、メッセージのタイムスタンプとブローカーのタイムスタンプの間の許容されるタイムスタンプ差を設定します。メッセージのタイムスタンプはブローカーのタイムスタンプより遅い、またはそれと同じであることが可能であり、許容される最大差分は、この設定で指定された値によって決定される。 |
|
message.timestamp.before.max.ms |
この設定は、ブローカーのタイムスタンプとメッセージのタイムスタンプの間の許容されるタイムスタンプ差を設定します。メッセージのタイムスタンプはブローカーのタイムスタンプより早い、またはそれと同等であることが可能であり、許容される最大差分はこの設定で指定された値によって決定されます。 |
|
message.timestamp.type |
メッセージ内のタイムスタンプが、メッセージ作成時刻であるか ログ 追記時刻かを定義する。この値は |
| min.compaction.lag.ms |
ログ内でメッセージが圧縮されずに保持される最小時間。この設定は、圧縮処理中のログにのみ適用されます。 この設定のデフォルト値は 0、Apache Kafka Default |
| max.compaction.lag.ms |
ログ内でメッセージが圧縮対象外となる最大時間。この設定は、圧縮処理中のログにのみ適用されます。この設定は、[7日間、Long.Max]の範囲に制限されます。 この設定のデフォルト値は 9223372036854775807、Apache Kafka Default です。 |
|
retention.bytes |
この設定は、パーティション (ログセグメントで構成される) が成長できる最大サイズを制御します。これにより、「削除」保持ポリシーを使用している場合に、古いログセグメントを破棄してスペースを確保するタイミングを決定します。デフォルトではサイズ制限はなく、時間制限のみが設定されています。この制限はパーティションレベルで適用されるため、パーティションの数を掛けてトピックの保持をバイト単位で計算します。さらに、 |
|
retention.ms |
この設定は、「削除」保持ポリシーを使用している場合に、古いログセグメントを破棄して空き領域を確保する前に、ログを保持する最大時間を制御します。これは、消費者がデータを読み取るまでの所要時間に関する SLA (サービスレベル契約) を表しています。 |