View a markdown version of this page

コンシューマーグループのオフセット同期アクセス許可 - Amazon Managed Streaming for Apache Kafka

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

コンシューマーグループのオフセット同期アクセス許可

synchroniseConsumerGroupOffsets が有効になっている場合 (デフォルト)、レプリケーターはソースクラスターからコンシューマーグループのオフセットを変換し、ターゲットクラスターに書き込みます。この機能を有効にすると、コンシューマーはフェイルオーバー後に正しい位置から再開できます。

LEGACY (デフォルト) と の 2 つの同期モードを使用できますENHANCED。レガシーモードでは、プロデューサーがソースクラスターに書き込むと、レプリケーターはオフセットを同期します。ENHANCED モードでは、プロデューサーが書き込む場所に関係なく、レプリケーターはオフセットを同期します。ENHANCED モードには双方向レプリケーションが必要です。どちらのモードも同じ IAM アクセス許可を使用します。

注記

ENHANCED モードが依存する内部トピック (mskr-offset-syncs.* および *.checkpoints.internal) は、両方のクラスターのトピックレプリケーションアクセス許可で既にカバーされています。

次のステートメントは、コンシューマーグループのオフセット同期専用のアクセス許可を追加します。オフセット同期はデータレプリケーションに依存するため、一部のアクセス許可はトピックレプリケーションポリシーと重複します。

サービス実行ロール IAM ポリシー (MSK クラスター)

ソースクラスター

サービス実行ロールには、コンシューマーグループとそれらがソースで消費するトピックを記述するアクセス許可が必要です。

[ { "Sid": "SourceGroupPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:DescribeGroup" ], "Resource": [ "arn:aws:kafka:${region}:${account}:group/${SourceClusterName}/${SourceClusterUUID}/${consumerGroupPattern}" ] }, { "Sid": "SourceUserTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:DescribeTopic" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${SourceClusterName}/${SourceClusterUUID}/${topicsConsumedByGroup}" ] } ]
ターゲット クラスター

サービス実行ロールには、変換されたオフセットをコミットできるように、レプリケートされたトピックを記述し、ターゲットのコンシューマーグループを変更するアクセス許可が必要です。

[ { "Sid": "TargetCheckpointTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:DescribeTopic" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${TargetClusterName}/${TargetClusterUUID}/${replicatedTopicPattern}" ] }, { "Sid": "TargetCheckpointGroupPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:AlterGroup", "kafka-cluster:DescribeGroup" ], "Resource": [ "arn:aws:kafka:${region}:${account}:group/${TargetClusterName}/${TargetClusterUUID}/${consumerGroupPattern}" ] } ]

上記のステートメントのプレースホルダーを次のように置き換えます。

  • を、レプリケーション用に設定されたコンシューマーグループ名またはパターン (例: ) ${consumerGroupPattern}に置き換えますmy-app-group-*

  • を、コンシューマーグループがソースで読み取り元のトピックパターン${topicsConsumedByGroup}に置き換えます。

  • をターゲットの対応するレプリケートされたトピックパターン${replicatedTopicPattern}に置き換えます (*.${topicPattern}PREFIXED 命名の場合は 、IDENTICAL 命名${topicPattern}の場合は )。

Kafka ACLs (非 MSK クラスター)

ソースとしての非 MSK

ソースが MSK 以外のクラスターの場合、コンシューマーグループのオフセット同期には次の ACLs が必要です。

[リソース] タイプ パターンタイプ 運用 目的

${consumerGroupPattern}

Group

リテラルまたはプリフィックス

説明

コミットされたオフセットの読み取り (OffsetFetch)

${topicsConsumedByGroup}

Topic

リテラルまたはプリフィックス

説明

オフセット変換のトピックメタデータ

ターゲットとしての非 MSK

ターゲットが非 MSK クラスターの場合、コンシューマーグループのオフセット同期には次の ACLs が必要です。

[リソース] タイプ パターンタイプ 運用 目的

${replicatedTopicPattern}

Topic

リテラルまたはプリフィックス

説明

ログ終了オフセット (ListOffsets)

${consumerGroupPattern}

Group

リテラルまたはプリフィックス

説明

FindCoordinator、DescribeGroup

${consumerGroupPattern}

Group

リテラルまたはプリフィックス

読み取り

コミット変換オフセット (OffsetCommit)