本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用自我管理的 Apache Kafka 叢集設定 MSK Replicator 的先決條件
建立 IAM 執行角色
使用 的信任政策建立 IAM 角色kafka.amazonaws.com。連接 AWSMSKReplicatorExecutionRole和 AWSSecretsManagerClientReadOnlyAccess受管政策。
信任政策範例:
{ "Statement": [{ "Effect": "Allow", "Principal": {"Service": "kafka.amazonaws.com"}, "Action": "sts:AssumeRole" }] }
設定 SASL/SCRAM 使用者和 ACL 許可
在自我管理的 Kafka 叢集上建立專用 SCRAM 使用者。需要下列 ACL 許可:
閱讀、描述所有主題
讀取、描述所有取用者群組
描述叢集資源
範例 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) 類型的秘密:
username— 自我管理叢集的 SCRAM 使用者名稱password— 自我管理叢集的 SCRAM 密碼certificate— CA 憑證鏈 (PEM 格式;私有/自我簽署憑證需要)
設定網路連線
MSK Replicator 需要連線至自我管理 Kafka 叢集的網路連線。支援的選項:
AWS Site-to-Site VPN — 透過網際網路將內部部署網路連接到 VPC。
AWS Direct Connect — 從您的內部部署建立專用的私有網路連線 AWS。
設定安全群組
確保安全群組允許 MSK Replicator 與 SASL_SSL 連接埠上自我管理叢集之間的流量 (通常是 9096)。更新 VPC 安全群組的傳入規則和自我管理叢集防火牆上的傳出規則。