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 集群迁移到亚马逊 MSK Express 经纪商和,了解自管理为带有自我管理的 Apache Kafka 集群的 MSK Replicator 设置先决条件集群的特定先决条件。

准备源集群

如果您已经有一个 MSK 源集群,请确保它满足本节中描述的要求。否则,请按照以下步骤创建 MSK 预配置或无服务器源集群。

  1. 在源区域中启用 IAM 访问控制的情况下创建 MSK 预配置集群或无服务器集群。您的源集群必须至少有三个代理。

  2. 对于跨区域 MSK Replicator,如果源是预配置集群,则在为 IAM 访问控制方案开启多 VPC 私有连接的情况下对其进行配置。请注意,开启多 VPC 时,不支持未经身份验证的身份验证类型。您无需为其他身份验证方案(mTLS 或 SASL/SCRAM)开启多 VPC 私有连接。您可以在控制台集群详细信息网络设置中或使用 UpdateConnectivity API 配置多 VPC 私有连接。请参阅集群所有者开启多 VPC。如果您的源集群是 MSK 无服务器集群,则无需开启多 VPC 私有连接。

    对于同区域的 MSK 复制器,MSK 源集群不需要多 VPC 私有连接,并且其他客户端仍然可以使用未经身份验证的身份验证类型访问该集群。

  3. 对于跨区域 MSK 复制器,您必须将基于资源的权限策略附加到源集群。这允许 MSK 连接到此集群以复制数据。您可以使用下面的 CLI 或 AWS 控制台程序执行此操作。另请参阅 Amazon MSK 基于资源的策略。对于同区域的 MSK 复制器,您不需要执行此步骤。

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 复制器可以代入该角色。有关如何修改角色的信任关系的更多信息,请参阅修改角色

  1. 使用此命令获取 MSK 集群策略的当前版本。将占位符替换为实际的集群 ARN。

    aws kafka get-cluster-policy —cluster-arn <Cluster ARN> { "CurrentVersion": "K1PA6795UKM GR7", "Policy": "..." }
  2. 创建基于资源的策略,以允许 MSK 复制器访问您的源集群。将占位符替换为实际的源集群 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 账户中。您的目标集群必须至少有三个代理。