Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 1:准备 Amazon MSK 源集群
如果您已经为 MSK Replicator 创建了MSK源集群,请确保它满足本节中描述的要求。否则,请按照以下步骤创建MSK预配置或无服务器源集群。
创建跨区域和同区域 MSK Replicator 源集群的过程类似。差异将在以下过程中引用。
在源MSK区域创建开启IAM访问控制的已配置集群或无服务器集群。您的源集群必须至少有三个代理。
对于跨区域 MSK Replicator,如果源是已配置的集群,请在为IAM访问控制方案开启多VPC私有连接的情况下对其进行配置。请注意,当 multi-VPC 开启时,不支持未经身份验证的身份验证类型。您无需为其他身份验证方案(m TLS 或SASL/SCRAM)开启多VPC私有连接。您可以同时对连接到MSK集群的其他客户端使用 m TLS 或SASL/SCRAMauth 方案。您可以在控制台集群详细信息网络设置中配置多VPC私有连接,也可以使用UpdateConnectivity
API。参见集群所有者开启多功能VPC。如果您的源集群是MSK无服务器集群,则无需开启多VPC私有连接。
对于同区域 MSK Replicator,MSK源集群不需要多VPC私有连接,并且其他客户端仍然可以使用未经身份验证的身份验证类型访问该集群。
-
对于跨区域MSK复制器,您必须将基于资源的权限策略附加到源集群。这允许MSK连接到此集群以复制数据。您可以使用下面的CLI或 Amazon 控制台程序来执行此操作。另请参阅 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": "<sourceClusterARN>"
}
]
}
使用集群详细信息页面上的操作菜单下的编辑集群策略选项。
- CLI: create resource policy
注意:如果您使用 Amazon 控制台创建源集群并选择创建新IAM角色的选项,则会将所需的信任策略 Amazon 附加到该角色。如果您MSK想使用现有IAM角色或自己创建角色,请将以下信任策略附加到该角色,以便 MSK Replicator 可以代入该角色。有关如何修改角色的信任关系的更多信息,请参阅修改角色。
使用此命令获取集MSK群策略的当前版本。将占位符替换为实际集群ARN。
aws kafka get-cluster-policy —cluster-arn <Cluster ARN>
{
"CurrentVersion": "K1PA6795UKM GR7",
"Policy": "..."
}
创建基于资源的策略以允许 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>"
}
]