

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

# 为带有自我管理的 Apache Kafka 集群的 MSK Replicator 设置先决条件
<a name="msk-replicator-external-prereqs"></a>

## 创建 IAM 执行角色
<a name="msk-replicator-external-iam-role"></a>

创建具有信任策略的 IAM 角色`kafka.amazonaws.com`。附加`AWSMSKReplicatorExecutionRole`和`AWSSecretsManagerClientReadOnlyAccess`托管策略。

信任策略示例：

```
{
  "Statement": [{
    "Effect": "Allow",
    "Principal": {"Service": "kafka.amazonaws.com"},
    "Action": "sts:AssumeRole"
  }]
}
```

## 配置 SASL/SCRAM 用户和 ACL 权限
<a name="msk-replicator-external-scram"></a>

在自行管理的 Kafka 集群上创建专用 SCRAM 用户。需要以下 ACL 权限：

1. 阅读、描述所有主题

1. 阅读、描述所有消费者群体

1. 描述群集资源

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
<a name="msk-replicator-external-ssl"></a>

在代理上配置 SSL 侦听器。对于公开信任的证书，无需进行其他配置。对于私有证书或自签名证书，请将完整的 CA 证书链包含在 Secrets Manager 中存储的 AWS 密钥中。

## 将凭据存储在 S AWS ecrets Manager 中
<a name="msk-replicator-external-secrets"></a>

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

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

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

1. `certificate`— CA 证书链（PEM 格式；私有/自签名证书是必需的）

## 配置网络连接
<a name="msk-replicator-external-network"></a>

MSK Replicator 需要与您的自行管理的 Kafka 集群建立网络连接。支持的选项：
+ **AWS Site-to-Site VPN** — 通过互联网将本地网络连接到您的 VPC。
+ **AWS Direct Connect** — 建立从您的场所到的专用专用网络连接 AWS。

## 配置安全组
<a name="msk-replicator-external-security-groups"></a>

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