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 侦听器。对于公开信任的证书,无需进行其他配置。对于私有证书或自签名证书,请将完整的 CA 证书链包含在 Secrets Manager 中存储的 AWS 密钥中。

将凭据存储在 S AWS ecrets Manager 中

使用以下键值对在 Secrets Manager 中创建类型为 “其他”(不是 rds/redShift)的 AWS 密钥:

  1. username— 自建集群的 SCRAM 用户名

  2. password— 自行管理集群的 SCRAM 密码

  3. certificate— CA 证书链(PEM 格式;私有/自签名证书是必需的)

配置网络连接

MSK Replicator 需要与您的自行管理的 Kafka 集群建立网络连接。支持的选项:

  • AWS Site-to-Site VPN — 通过互联网将本地网络连接到您的 VPC。

  • AWS Direct Connect — 建立从您的场所到的专用专用网络连接 AWS。

配置安全组

确保安全组允许 SASL_SSL端口(通常为 9096)上的 MSK Replicator 和自管理集群之间的流量。更新 VPC 安全组的入站规则和自建集群防火墙上的出站规则。