

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

# 为带有自我管理的 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`托管策略。托管策略授予 Replicator 所需的集群级、主题级和消费者组级 Kafka 权限，但*不*包括身份验证和凭据 Amazon KMS 所需的 Amazon Secrets Manager 或权限。 SASL/SCRAM CMK-encrypted 有关要添加的内联策略片段，请参阅[其他 SER 权限 SASL/SCRAM 和客户托管密钥](msk-replicator-ser-additional-perms.md)。

信任策略示例：

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

## 将凭证存储在 Amazon Secrets Manager
<a name="msk-replicator-external-secrets"></a>

*使用以下键值对在 Secrets Manager 中创建 Other（不是 RDS/Redshift）类型的 Amazon 密钥：*

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

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

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

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

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

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

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