

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 建立佈建的 Amazon MSK 叢集 AWS CLI
<a name="create-cluster-cli"></a>

****

1. 複製以下 JSON 並將其儲存到檔案。將檔案命名為 `brokernodegroupinfo.json`。將 JSON 中的子網路 ID 取代為與子網路對應的值。這些子網路必須位於不同的可用區域。將 *"Security-Group-ID"* 取代為用戶端 VPC 的一或多個安全群組 ID。與這些安全群組關聯的用戶端會獲得叢集的存取權。如果指定已與自己共用的安全群組，您必須確保自己擁有這些群組的許可。具體而言，您需要 `ec2:DescribeSecurityGroups` 許可。如需範例，請參閱 [Amazon EC2：允許以程式設計方式和在主控台中管理具備特定標籤鍵值對的 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>
   ```