Amazon MSK で公式ドキュメントに記載されてるプロパティ以外のカスタム設定はできますか
困っていた内容
以下の Amazon MSK の公式ドキュメントページに記載されてるプロパティ以外に、自分でカスタム設定を定義することは可能でしょうか。
カスタム MSK 設定 - Amazon Managed Streaming for Apache Kafka
どう対応すればいいの?
ドキュメントに記載されている Kafka のプロパティのカスタム設定以外のパラメータについては、ユーザ独自に設定することはできません。
Q. どのような設定プロパティをカスタマイズできますか?
カスタマイズ可能な構成プロパティーはここに記載されています。
よくある質問 - Amazon MSK | AWS
カスタム設定の設定方法は以下ドキュメントを参照ください。
Amazon MSK 設定オペレーション - Amazon Managed Streaming for Apache Kafka
一方で、明示的に指定しないプロパティについては、Amazon MSK のデフォルト設定の一覧表に含まれる値が使用されます。
Amazon MSK のデフォルト設定 - Amazon Managed Streaming for Apache Kafka
検証してみた
それでは、カスタム設定の検証をしてみます。
まず、参考ドキュメントの通り、Amazon MSK の MSK 設定をコマンドから作成してみます。
設定ファイルは以下の通りです。
- nakano-custom-properties.conf
auto.create.topics.enable = true zookeeper.connection.timeout.ms = 1000 log.roll.ms = 604800000
コマンドを実行してみます。 正常に登録されました。
$ aws kafka create-configuration --name "TestNakanoConfigurationName" --description "Test Nakano configuration description." --kafka-versions "1.1.1" --server-properties fileb://nakano-custom-properties.conf { "Configurations": [ { "Arn": "arn:aws:kafka:ap-northeast-1:XXXXXXXXX:configuration/TestNakanoConfigurationName/ad5e62b4-xxxx-xxxxx-xxxxx-xxxxx", "CreationTime": "2021-06-25T09:34:52.207000+00:00", "Description": "Test Nakano configuration description.", "KafkaVersions": [ "1.1.1" ], "LatestRevision": { "CreationTime": "2021-06-25T09:34:52.207000+00:00", "Description": "Test Nakano configuration description.", "Revision": 1 }, "Name": "TestNakanoConfigurationName", "State": "ACTIVE" } ] }
次に、「test = 1」 という独自に作成した、カスタム設定を登録してみます。
- nakano-custom-properties-abnormal.conf
auto.create.topics.enable = true zookeeper.connection.timeout.ms = 1000 log.roll.ms = 604800000 test = 1
失敗することを確認しました。
$ aws kafka create-configuration --name "TestNakanoConfigurationNameAbnormal" --description "Test Nakano Abnormal configuration description." --kafka-versions "1.1.1" --server-properties fileb://nakano-custom-properties-abnormal.conf An error occurred (BadRequestException) when calling the CreateConfiguration operation: [ { "name" : "test", "value" : "1", "errorMessages" : [ "Key 'test' is not supported by at least one Apache Kafka version. Key checked against versions: [2.4.1.1, 2.6.2, 2.7.1, 2.8.0, 2.5.1, 2.6.0, 2.6.1, 2.7.0, 2.3.1, 2.2.1]" ] } ]