この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
困っていた内容
以下の 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]" ]
} ]