View a markdown version of this page

準備來源和目標叢集 - Amazon Managed Streaming for Apache Kafka

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

準備來源和目標叢集

在建立 MSK Replicator 之前,您需要同時準備來源叢集和目標叢集。本節涵蓋在 Amazon MSK 叢集 (佈建或無伺服器) 之間設定複寫的需求。

注意

MSK Replicator 也支援自我管理 Apache Kafka 叢集與具有 Express 代理程式的 Amazon MSK 佈建叢集之間的複寫。如果您要從自我管理的 Kafka 部署遷移,請參閱 從非 MSK Apache Kafka 叢集遷移至 Amazon MSK Express 代理程式使用自我管理的 Apache Kafka 叢集設定 MSK Replicator 的先決條件 以了解自我管理叢集特有的先決條件。

準備來源叢集

如果您已經有 MSK 來源叢集,請確定它符合本節中所述的要求。否則,請依照下列步驟建立 MSK 佈建或無伺服器來源叢集。

  1. 在來源區域中建立已開啟 IAM 存取控制的 MSK 佈建或無伺服器叢集。您的來源叢集必須至少要有三個代理程式。

  2. 對於跨區域 MSK Replicator,如果來源是佈建叢集,請針對 IAM 存取控制機制開啟多 VPC 私有連線來進行設定。請注意,開啟多 VPC 後,不支援未驗證的身分驗證類型。您不需要針對其他身分驗證機制 (MTL 或 SASL/SCRAM) 開啟多 VPC 私有連線。您可以在主控台叢集詳細資訊網路設定中或使用 UpdateConnectivity API 設定多 VPC 私有連線。請參閱叢集擁有者開啟多 VPC。如果您的來源叢集是 MSK Serverless 叢集,則不需要開啟多 VPC 私有連線。

    對於相同區域 MSK Replicator,MSK 來源叢集不需要多 VPC 私有連線,而且使用未驗證之身分驗證類型的其他用戶端仍可存取叢集。

  3. 對於跨區域 MSK Replicator,您必須將資源型許可政策連接至來源叢集。這會允許 MSK 連線到此叢集以複寫資料。您可以使用以下 CLI 或 AWS 主控台程序來執行此操作。亦請參閱 Amazon MSK 資源型政策。您不需要針對相同區域 MSK Replicator 執行此步驟。

Console: create resource policy

使用下列 JSON 更新來源叢集政策。使用來源叢集的 ARN 取代預留位置。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "kafka.amazonaws.com" ] }, "Action": [ "kafka:CreateVpcConnection", "kafka:GetBootstrapBrokers", "kafka:DescribeClusterV2" ], "Resource": "arn:aws:kafka:us-east-1:123456789012:cluster/myCluster/abcd1234-5678-90ab-cdef-1234567890ab-1" } ] }

在叢集詳細資訊頁面上,使用動作選單下的編輯叢集政策選項。

在主控台中編輯叢集政策
CLI: create resource policy

注意:如果您使用 AWS 主控台來建立來源叢集,並選擇建立新 IAM 角色的選項, 會將必要的信任政策 AWS 連接到角色。如果您想要 MSK 使用現有的 IAM 角色,或您要自行建立角色,請將以下信任政策連接到該角色,以便 MSK Replicator 可以擔任此角色。如需有關如何修改角色之信任關係的資訊,請參閱修改角色

  1. 使用此命令取得目前的 MSK 叢集政策版本。使用實際叢集 ARN 取代預留位置。

    aws kafka get-cluster-policy —cluster-arn <Cluster ARN> { "CurrentVersion": "K1PA6795UKM GR7", "Policy": "..." }
  2. 建立資源型政策,以允許 MSK Replicator 存取您的來源叢集。將預留位置取代為實際來源叢集 ARN。

    aws kafka put-cluster-policy --cluster-arn "<sourceClusterARN>" --policy '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "kafka.amazonaws.com" ] }, "Action": [ "kafka:CreateVpcConnection", "kafka:GetBootstrapBrokers", "kafka:DescribeClusterV2" ], "Resource": "<sourceClusterARN>" } ] }'

準備目標叢集

在開啟 IAM 存取控制的情況下建立 MSK 目標叢集 (佈建或無伺服器)。目標叢集不需要多 VPC 私有連線。目標叢集可以位於與來源叢集相同的 AWS 區域或不同的 區域。來源和目標叢集都必須位於相同的 AWS 帳戶中。您的目標叢集必須至少要有三個代理程式。