使用创建预置 Amazon MSK 集群 Amazon CLI - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用创建预置 Amazon MSK 集群 Amazon CLI

  1. 复制以下 JSON 并将其保存到文件中。将文件命名为 brokernodegroupinfo.json。将 JSON IDs 中的子网替换为与您的子网对应的值。这些子网必须位于不同的可用区中。"Security-Group-ID"替换为客户端 VPC 的一个或多个安全组的 ID。与这些安全组关联的客户端可以访问集群。如果您指定与您共享的安全组,则必须确保您拥有对它们的权限。具体来说,您需要 ec2:DescribeSecurityGroups 权限。有关示例,请参阅 Amazon EC2:允许以编程方式和在控制台中管理与特定 VPC 关联的 Amazon EC2 安全组。最后,将更新后的 JSON 文件保存在已 Amazon CLI 安装的计算机上。

    { "InstanceType": "kafka.m5.large", "ClientSubnets": [ "Subnet-1-ID", "Subnet-2-ID" ], "SecurityGroups": [ "Security-Group-ID" ] }
    重要

    对于 Express 代理,您需要在三个不同的可用区中使用三个子网。您也不需要定义任何与存储相关的属性。

    对于美国西部(北加利福尼亚)区域的标准代理,您需要在两个不同可用区中使用两个子网。在提供 Amazon MSK 的其余区域中,您可以指定两到三个子网。您的子网必须位于不同的可用区中。在创建集群时,Amazon MSK 在您指定的子网之间平均分配代理节点。

  2. 在保存brokernodegroupinfo.json文件的目录中运行以下 Amazon CLI 命令,"Your-Cluster-Name"替换为您选择的名称。对于"Monitoring-Level",您可以指定以下三个值之一:DEFAULTPER_BROKER、或PER_TOPIC_PER_BROKER。有关这三个不同监控级别的信息,请参阅监控 Amazon MSK 预置集群enhanced-monitoring 参数是可选的。如果未在 create-cluster 命令中指定该参数,监控级别即为 DEFAULT

    aws kafka create-cluster --cluster-name "Your-Cluster-Name" --broker-node-group-info file://brokernodegroupinfo.json --kafka-version "2.8.1" --number-of-broker-nodes 3 --enhanced-monitoring "Monitoring-Level"

    该命令的输出如以下 JSON 所示:

    { "ClusterArn": "...", "ClusterName": "AWSKafkaTutorialCluster", "State": "CREATING" }
    注意

    create-cluster 命令可能会返回错误,指示一个或多个子网所属的可用区不受支持。发生此种情况时,该错误会指示不受支持的可用区。请创建不使用不受支持的可用区的子网,然后重试 create-cluster 命令。

  3. 保存 ClusterArn 键的值,因为您需要该键才能对集群执行其他操作。

  4. 运行以下命令来检查集群的 STATE。在 Amazon MSK 预置集群时,STATE 值从 CREATING 变为 ACTIVE。当状态为 ACTIVE 时,您可连接到集群。有关集群状态的更多信息,请参阅 了解 MSK 预配置的集群状态

    aws kafka describe-cluster --cluster-arn <your-cluster-ARN>