Amazon MSK 組態操作 - Amazon Managed Streaming for Apache Kafka

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

Amazon MSK 組態操作

此主題說明如何建立自訂 MSK 組態,以及如何對其執行操作。如需如何使用 MSK 組態來建立或更新叢集的資訊,請參閱 Amazon MSK:運作方式

建立 MSK 組態

  1. 建立一個檔案,在其中指定欲設定的組態屬性及欲指派的值。以下為範例組態檔案的內容。

    auto.create.topics.enable = true log.roll.ms = 604800000
  2. 執行下列 AWS CLI 命令,並將 config-file-path 取代為您在上一個步驟中儲存組態的檔案路徑。

    注意

    您為組態選擇的名稱必須符合以下規則運算式:"^[0-9A-Za-z][0-9A-Za-z-]{0,}$"。

    aws kafka create-configuration --name "ExampleConfigurationName" --description "Example configuration description." --kafka-versions "1.1.1" --server-properties fileb://config-file-path

    以下是執行此命令後成功回應的範例。

    { "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1", "CreationTime": "2019-05-21T19:37:40.626Z", "LatestRevision": { "CreationTime": "2019-05-21T19:37:40.626Z", "Description": "Example configuration description.", "Revision": 1 }, "Name": "ExampleConfigurationName" }
  3. 上一個命令會傳回新組態的 Amazon Resource Name (ARN)。儲存此 ARN,因為其他命令須用其來參照此組態。若您遺失組態 ARN,可列出帳戶內的所有組態來找到它。

更新 MSK 組態

  1. 建立一個檔案,在其中指定欲更新的組態屬性及欲指派的值。以下為範例組態檔案的內容。

    auto.create.topics.enable = true min.insync.replicas = 2
  2. 執行下列 AWS CLI 命令,使用您在上一步中儲存組態的檔案路徑取代 config-file-path

    使用建立組態時取得的 ARN 取代 configuration-arn。若您建立組態時未儲存 ARN,則可使用 list-configurations 命令來列出帳戶內的所有組態。清單中列出的所需組態會顯示在回應中。組態 ARN 也會出現於該清單中。

    aws kafka update-configuration --arn configuration-arn --description "Example configuration revision description." --server-properties fileb://config-file-path
  3. 以下是執行此命令後成功回應的範例。

    { "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1", "LatestRevision": { "CreationTime": "2020-08-27T19:37:40.626Z", "Description": "Example configuration revision description.", "Revision": 2 } }

刪除 MSK 組態

下列程序說明如何刪除未連接至叢集的組態。您無法刪除連接至叢集的組態。

  1. 若要執行此範例,請使用建立組態時取得的 ARN 取代 configuration-arn。若您建立組態時未儲存 ARN,則可使用 list-configurations 命令來列出帳戶內的所有組態。清單中列出的所需組態會顯示在回應中。組態 ARN 也會出現於該清單中。

    aws kafka delete-configuration --arn configuration-arn
  2. 以下是執行此命令後成功回應的範例。

    { "arn": " arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1", "state": "DELETING" }

描述 MSK 組態

  1. 下列命令會傳回組態的中繼資料。若要取得組態的詳細描述,請執行 describe-configuration-revision

    若要執行此範例,請使用建立組態時取得的 ARN 取代 configuration-arn。若您建立組態時未儲存 ARN,則可使用 list-configurations 命令來列出帳戶內的所有組態。清單中列出的所需組態會顯示在回應中。組態 ARN 也會出現於該清單中。

    aws kafka describe-configuration --arn configuration-arn
  2. 以下是執行此命令後成功回應的範例。

    { "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-abcd-1234-abcd-abcd123e8e8e-1", "CreationTime": "2019-05-21T00:54:23.591Z", "Description": "Example configuration description.", "KafkaVersions": [ "1.1.1" ], "LatestRevision": { "CreationTime": "2019-05-21T00:54:23.591Z", "Description": "Example configuration description.", "Revision": 1 }, "Name": "SomeTest" }

描述 MSK 組態修訂

如果您使用 describe-configuration 命令來描述 MSK 組態,您會看到組態的中繼資料。若要取得組態的描述,請改用此命令:describe-configuration-revision

  • 執行下列命令,請使用建立組態時取得的 ARN 取代 configuration-arn。若您建立組態時未儲存 ARN,則可使用 list-configurations 命令來列出帳戶內的所有組態。清單中列出的所需組態會顯示在回應中。組態 ARN 也會出現於該清單中。

    aws kafka describe-configuration-revision --arn configuration-arn --revision 1

    以下是執行此命令後成功回應的範例。

    { "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-abcd-1234-abcd-abcd123e8e8e-1", "CreationTime": "2019-05-21T00:54:23.591Z", "Description": "Example configuration description.", "Revision": 1, "ServerProperties": "YXV0by5jcmVhdGUudG9waWNzLmVuYWJsZSA9IHRydWUKCgp6b29rZWVwZXIuY29ubmVjdGlvbi50aW1lb3V0Lm1zID0gMTAwMAoKCmxvZy5yb2xsLm1zID0gNjA0ODAwMDAw" }

    ServerProperties 的值採用 Base64 編碼。若您使用 Base64 解碼器 (如 https://www.base64decode.org/) 來手動解碼,則會取得用來建立自訂組態的原始組態檔案內容。在此情況下,您會取得下列內容:

    auto.create.topics.enable = true log.roll.ms = 604800000

列出帳戶內目前區域的所有 MSK 組態

  • 執行下列命令。

    aws kafka list-configurations

    以下是執行此命令後成功回應的範例。

    { "Configurations": [ { "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-abcd-1234-abcd-abcd123e8e8e-1", "CreationTime": "2019-05-21T00:54:23.591Z", "Description": "Example configuration description.", "KafkaVersions": [ "1.1.1" ], "LatestRevision": { "CreationTime": "2019-05-21T00:54:23.591Z", "Description": "Example configuration description.", "Revision": 1 }, "Name": "SomeTest" }, { "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1", "CreationTime": "2019-05-03T23:08:29.446Z", "Description": "Example configuration description.", "KafkaVersions": [ "1.1.1" ], "LatestRevision": { "CreationTime": "2019-05-03T23:08:29.446Z", "Description": "Example configuration description.", "Revision": 1 }, "Name": "ExampleConfigurationName" } ] }