本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为带有自我管理的 Apache Kafka 集群的 MSK Replicator 设置先决条件
创建 IAM 执行角色
创建具有信任策略的 IAM 角色kafka.amazonaws.com。附加AWSMSKReplicatorExecutionRole托管策略。托管策略授予 Replicator 所需的集群级、主题级和消费者组级 Kafka 权限,但不包括身份验证和凭据 AWS KMS 所需的 AWS Secrets Manager 或权限。 SASL/SCRAM CMK-encrypted 有关要添加的内联策略片段,请参阅mTLS 和客户托管密钥的其他 SER 权限 SASL/SCRAM。
信任策略示例:
{ "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
在自管集群上配置 mTLS
使用在自行管理的 Kafka 代理上配置 SSL 侦听器。ssl.client.auth=required代理的信任库必须包含签署您将用于 MSK Replicator 的客户端证书的 CA 证书。
向根据客户端证书的可分辨名称 (DN) 派生的 Kafka 主体授予 ACL 权限。所需的权限是:所有主题的 “读取” 和 “描述”、“所有使用者组的 “读取” 和 “描述” 权限以及群集资源上的 “描述” 权限。
在自建集群上配置 SSL
在代理上配置 SSL 侦听器。对于公开信任的证书,无需进行其他配置。对于私有证书或自签名证书,请将完整的 CA 证书链包含在 Secrets Manager 中存储的 AWS 密钥中。
将凭证存储在 AWS Secrets Manager
在 Secrets Manager 中创建一个 “其他”(不是 RDS/Redshift)类型的 AWS 密钥,其中包含与您的身份验证类型相应的键值对。
对于 SASL/SCRAM:
username— 自建集群的 SCRAM 用户名password— 自行管理集群的 SCRAM 密码certificate— CA 证书链(PEM 格式; private/self签名证书是必需的)
对于 mTL 来说:
certificate— PEM-encoded 客户证书链privateKey— PEM-encoded 私钥privateKeyPassword—(可选)私钥的密码,仅加密的 PKCS8 密钥需要密码
配置网络连接
MSK Replicator 需要与您的自行管理的 Kafka 集群建立网络连接。支持的选项:
AWS Site-to-Site VPN — 通过互联网将本地网络连接到您的 VPC。
AWS Direct Connect — 建立从您的场所到的专用专用网络连接 AWS。
配置安全组
确保安全组允许身份验证侦听器使用的端口上的 MSK Replicator 和自管理集群之间的流量。更新 VPC 安全组的入站规则和自建集群防火墙上的出站规则。