View a markdown version of this page

为带有自我管理的 Apache Kafka 集群的 MSK Replicator 设置先决条件 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为带有自我管理的 Apache Kafka 集群的 MSK Replicator 设置先决条件

创建 IAM 执行角色

创建具有信任策略的 IAM 角色kafka.amazonaws.com。附加AWSMSKReplicatorExecutionRole托管策略。托管策略授予 Replicator 所需的集群级、主题级和消费者组级 Kafka 权限,但包括身份验证和凭据 Amazon KMS 所需的 Amazon Secrets Manager 或权限。 SASL/SCRAM CMK-encrypted 有关要添加的内联策略片段,请参阅其他 SER 权限 SASL/SCRAM 和客户托管密钥

信任策略示例:

{ "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 中存储的 Amazon 密钥中。

将凭证存储在 Amazon Secrets Manager

使用以下键值对在 Secrets Manager 中创建 Other(不是 RDS/Redshift)类型的 Amazon 密钥:

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

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

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

配置网络连接

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

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

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

配置安全组

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