

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用自我管理的 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 接聽程式。對於公開信任的憑證，不需要額外的組態。對於私有或自我簽署憑證，請在存放在 AWS Secrets Manager 的秘密中包含完整的 CA 憑證鏈。

## 在 AWS Secrets Manager 中存放登入資料
<a name="msk-replicator-external-secrets"></a>

在 AWS Secrets Manager 中使用下列鍵值對建立*其他* （非 RDS/Redshift) 類型的秘密：

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>

確保安全群組允許 MSK Replicator 與 SASL\_SSL 連接埠上自我管理叢集之間的流量 （通常是 9096)。更新 VPC 安全群組的傳入規則和自我管理叢集防火牆上的傳出規則。