

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

# 使用创建预配置的 Amazon MSK 集群 AWS CLI
<a name="create-cluster-cli"></a>

****

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

   ```
   {
     "InstanceType": "kafka.m5.large",
     "ClientSubnets": [
       "Subnet-1-ID",
       "Subnet-2-ID"
     ],
     "SecurityGroups": [
       "Security-Group-ID"
     ]
   }
   ```
**重要**  
对于快速代理，需要在三个不同的可用区中使用三个子网。您也不需要定义任何与存储相关的属性。  
对于美国西部（北加利福尼亚）区域的标准代理，您需要在两个不同可用区中使用两个子网。在提供 Amazon MSK 的其余区域中，您可以指定两到三个子网。您的子网必须位于不同的可用区中。在创建集群时，Amazon MSK 在您指定的子网之间平均分配代理节点。

1. 在保存`brokernodegroupinfo.json`文件的目录中运行以下 AWS CLI 命令，*"Your-Cluster-Name"*替换为您选择的名称。对于*"Monitoring-Level"*，您可以指定以下三个值之一：`DEFAULT``PER_BROKER`、或`PER_TOPIC_PER_BROKER`。有关这三个不同监控级别的信息，请参阅[监控预置 Amazon MSK 集群](monitoring.md)。`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` 命令。

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

1. 运行以下命令来检查集群的 `STATE`。在 Amazon MSK 预置集群时，`STATE` 值从 `CREATING` 变为 `ACTIVE`。当状态为 `ACTIVE` 时，您可连接到集群。有关集群状态的更多信息，请参阅 [了解预置 MSK 集群状态](msk-cluster-states.md)。

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