Amazon MSK で公式ドキュメントに記載されてるプロパティ以外のカスタム設定はできますか

この記事は公開されてから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]" ]
} ]

参考資料