本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为带有自我管理的 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 侦听器。对于公开信任的证书,无需进行其他配置。对于私有证书或自签名证书,请将完整的 CA 证书链包含在 Secrets Manager 中存储的 AWS 密钥中。
将凭据存储在 S AWS ecrets Manager 中
使用以下键值对在 Secrets Manager 中创建类型为 “其他”(不是 rds/redShift)的 AWS 密钥:
username— 自建集群的 SCRAM 用户名password— 自行管理集群的 SCRAM 密码certificate— CA 证书链(PEM 格式;私有/自签名证书是必需的)
配置网络连接
MSK Replicator 需要与您的自行管理的 Kafka 集群建立网络连接。支持的选项:
AWS Site-to-Site VPN — 通过互联网将本地网络连接到您的 VPC。
AWS Direct Connect — 建立从您的场所到的专用专用网络连接 AWS。
配置安全组
确保安全组允许 SASL_SSL端口(通常为 9096)上的 MSK Replicator 和自管理集群之间的流量。更新 VPC 安全组的入站规则和自建集群防火墙上的出站规则。