本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
禁用或启用 Apache ZooKeeper 客户端的直接访问
您可以在 Amazon MSK 预配置集群上禁用 Apache ZooKeeper 客户端的直接访问,以验证您的应用程序不依赖直接连接。 ZooKeeper 禁用 ZooKeeper 访问后,客户端将无法再通过端口 2181(纯文本)和 2182(TLS)连接到 Apache ZooKeeper 节点。您可以随时重新启用 ZooKeeper 访问权限。
注意
此功能仅适用于使用标准代理 ZooKeeper 元数据模式的 Amazon MSK 预配置集群。它不适用于以下集群类型:
在 KRaft 元数据模式下运行的集群
使用快递代理的集群。 ZooKeeper 在 Express 集群中,访问权限是自动管理的,无法手动配置。
Amazon MSK 无服务器集群
使用控制台禁用 ZooKeeper 访问
登录并在https://console.aws.amazon.com/msk/家中打开 Amazon MSK 控制台? AWS 管理控制台 region=us
-east-1#/home/。 -
在集群列表中,选择要禁用 ZooKeeper 访问权限的集群。
-
选择属性选项卡,然后找到网络设置部分。
-
选择 “禁用 ZooKeeper 访问”。
使用禁用 ZooKeeper 访问权限 AWS CLI
-
运行以下 AWS CLI 命令,用集
ClusterArn群Current-Cluster-Version的 ARN 和当前版本替换和。要查找集群的当前版本,请使用DescribeCluster操作或 desc ribe-AWS CLI cluster 命令。示例版本是 KTVPDKIKX0DER。aws kafka update-connectivity --cluster-arnClusterArn--current-versionCurrent-Cluster-Version--zookeeper-access '{"Enabled": false}'该
update-connectivity命令的输出如以下 JSON 示例所示。{ "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef" }注意
要重新启用 ZooKeeper 访问权限,请
--zookeeper-access改用具有以下值的类似 AWS CLI 命令:'{"Enabled": true}' -
要获得
update-connectivity操作结果,请运行以下命令,ClusterOperationArn替换为在命令输出中获得的 ARN。update-connectivityaws kafka describe-cluster-operation --cluster-operation-arnClusterOperationArn该
describe-cluster-operation命令的输出如以下 JSON 示例所示。{ "ClusterOperationInfo": { "ClientRequestId": "982168a3-939f-11e9-8a62-538df00285db", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2026-01-15T21:08:57.735Z", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_COMPLETE", "OperationType": "UPDATE_CONNECTIVITY", "SourceClusterInfo": { "ZookeeperAccess": { "Enabled": true } }, "TargetClusterInfo": { "ZookeeperAccess": { "Enabled": false } } } }如果
OperationState的值为UPDATE_IN_PROGRESS,请等待一段时间,然后再次运行describe-cluster-operation命令。
使用 Amazon MSK API 禁用 ZooKeeper 访问权限
-
要使用 API 禁用或启用对集群的 ZooKeeper 访问权限,请参阅UpdateConnectivity。