View a markdown version of this page

使用自我管理的 Apache Kafka 叢集設定 MSK Replicator 的先決條件 - Amazon Managed Streaming for Apache Kafka

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用自我管理的 Apache Kafka 叢集設定 MSK Replicator 的先決條件

建立 IAM 執行角色

使用 的信任政策建立 IAM 角色kafka.amazonaws.com。連接 AWSMSKReplicatorExecutionRoleAWSSecretsManagerClientReadOnlyAccess受管政策。

信任政策範例:

{ "Statement": [{ "Effect": "Allow", "Principal": {"Service": "kafka.amazonaws.com"}, "Action": "sts:AssumeRole" }] }

設定 SASL/SCRAM 使用者和 ACL 許可

在自我管理的 Kafka 叢集上建立專用 SCRAM 使用者。需要下列 ACL 許可:

  1. 閱讀、描述所有主題

  2. 讀取、描述所有取用者群組

  3. 描述叢集資源

範例 kafka-acls.sh 命令:

# Grant Read and Describe on all topics kafka-acls.sh --bootstrap-server <broker>:9092 \ --add --allow-principal User:msk-replicator \ --operation Read --operation Describe \ --topic '*' # Grant Read and Describe on all consumer groups kafka-acls.sh --bootstrap-server <broker>:9092 \ --add --allow-principal User:msk-replicator \ --operation Read --operation Describe \ --group '*' # Grant Describe on cluster kafka-acls.sh --bootstrap-server <broker>:9092 \ --add --allow-principal User:msk-replicator \ --operation Describe --cluster

在自我管理叢集上設定 SSL

在代理程式上設定 SSL 接聽程式。對於公開信任的憑證,不需要額外的組態。對於私有或自我簽署憑證,請在存放在 AWS Secrets Manager 的秘密中包含完整的 CA 憑證鏈。

在 AWS Secrets Manager 中存放登入資料

在 AWS Secrets Manager 中使用下列鍵值對建立其他 (非 RDS/Redshift) 類型的秘密:

  1. username — 自我管理叢集的 SCRAM 使用者名稱

  2. password — 自我管理叢集的 SCRAM 密碼

  3. certificate — CA 憑證鏈 (PEM 格式;私有/自我簽署憑證需要)

設定網路連線

MSK Replicator 需要連線至自我管理 Kafka 叢集的網路連線。支援的選項:

  • AWS Site-to-Site VPN — 透過網際網路將內部部署網路連接到 VPC。

  • AWS Direct Connect — 從您的內部部署建立專用的私有網路連線 AWS。

設定安全群組

確保安全群組允許 MSK Replicator 與 SASL_SSL 連接埠上自我管理叢集之間的流量 (通常是 9096)。更新 VPC 安全群組的傳入規則和自我管理叢集防火牆上的傳出規則。