使用 AWS CLI 创建预置 Amazon MSK 集群
-
复制以下 JSON 并将其保存到文件中。将文件命名为
brokernodegroupinfo.json。将 JSON 中的子网 ID 替换为与子网对应的值。这些子网必须位于不同的可用区中。将"Security-Group-ID"替换为客户端 VPC 的一个或多个安全组的 ID。与这些安全组关联的客户端可以访问集群。如果您指定与您共享的安全组,则必须确保您拥有对它们的权限。具体来说,您需要ec2:DescribeSecurityGroups权限。有关示例,请参阅 Amazon EC2:允许以编程方式和在控制台中管理与特定 VPC 关联的 EC2 安全组。最后,将更新的 JSON 文件保存在已安装 AWS CLI 的计算机上。{ "InstanceType": "kafka.m5.large", "ClientSubnets": [ "Subnet-1-ID", "Subnet-2-ID" ], "SecurityGroups": ["Security-Group-ID"] }重要
对于快速代理,需要在三个不同的可用区中使用三个子网。您也不需要定义任何与存储相关的属性。
对于美国西部(北加利福尼亚)区域的标准代理,您需要在两个不同可用区中使用两个子网。在提供 Amazon MSK 的其余区域中,您可以指定两到三个子网。您的子网必须位于不同的可用区中。在创建集群时,Amazon MSK 在您指定的子网之间平均分配代理节点。
-
在保存
brokernodegroupinfo.json文件的目录中运行以下 AWS CLI 命令,并将"Your-Cluster-Name"替换为您选择的名称。对于"Monitoring-Level",您可以指定以下三个值之一:DEFAULT、PER_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命令。 保存
ClusterArn键的值,因为您需要该键才能对集群执行其他操作。-
运行以下命令来检查集群的
STATE。在 Amazon MSK 预置集群时,STATE值从CREATING变为ACTIVE。当状态为ACTIVE时,您可连接到集群。有关集群状态的更多信息,请参阅 了解预置 MSK 集群状态。aws kafka describe-cluster --cluster-arn<your-cluster-ARN>