翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
サインイン認証情報を使用したクラスターへの接続
シークレットを作成してクラスターに関連付けると、クライアントをクラスターに接続できます。次の手順は、SASL/SCRAM 認証を使用するクラスターにクライアントを接続する方法を示しています。また、トピックの例に対して生成および消費する方法も示します。
SASL/SCRAM 認証を使用してクライアントをクラスターに接続する
-
AWS CLI がインストールされているマシンで次のコマンドを実行します。
cluster-ARNを自身のクラスター ARN に置き換えます。aws kafka get-bootstrap-brokers --cluster-arnclusterARNこのコマンドの JSON 結果から、
BootstrapBrokerStringSaslScramという名前の文字列に関連付けられた値を保存します。この値は後のステップで使用します。 -
クライアントマシンで、シークレットに保存されているユーザー認証情報を含む JAAS 設定ファイルを作成します。例えば、ユーザー alice の場合、次の内容を含む
users_jaas.confという名前のファイルを作成します。KafkaClient { org.apache.kafka.common.security.scram.ScramLoginModule required username="alice" password="alice-secret"; }; -
次のコマンドを使用して、JAAS 設定ファイルを
KAFKA_OPTS環境パラメータとしてエクスポートします。export KAFKA_OPTS=-Djava.security.auth.login.config=<path-to-jaas-file>/users_jaas.conf -
/tmpディレクトリにkafka.client.truststore.jksという名前のファイルを作成します。 -
(オプション)次のコマンドを使用して、 JVM
cacertsフォルダから JDK キーストアファイルを、前の手順で作成したkafka.client.truststore.jksファイルにコピーします。JDKFolderは、インスタンス上の JDK フォルダの名前に置き換えてください。例えば、JDK フォルダにはjava-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64という名前が付いている場合があります。cp /usr/lib/jvm/JDKFolder/lib/security/cacerts /tmp/kafka.client.truststore.jks -
Apache Kafka のインストール済み環境の
binディレクトリに、次の内容を含むclient_sasl.propertiesという名前のクライアントプロパティファイルを作成します。このファイルは、SASL メカニズムとプロトコルを定義します。security.protocol=SASL_SSL sasl.mechanism=SCRAM-SHA-512 -
例となるトピックを作成するには、次のコマンドを実行します。
BootstrapBrokerStringSaslScramを、このトピックの手順 1 で取得したブートストラップブローカー文字列に置き換えます。<path-to-your-kafka-installation>/bin/kafka-topics.sh --create --bootstrap-serverBootstrapBrokerStringSaslScram--command-config<path-to-client-properties>/client_sasl.properties --replication-factor 3 --partitions 1 --topic ExampleTopicName -
作成したサンプルトピックにデータを生成するには、クライアントマシンで次のコマンドを実行します。
BootstrapBrokerStringSaslScramを、このトピックの手順 1 で取得したブートストラップブローカー文字列に置き換えます。<path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-listBootstrapBrokerStringSaslScram--topicExampleTopicName--producer.config client_sasl.properties -
作成したトピックからデータを消費するには、クライアントマシンで次のコマンドを実行します。
BootstrapBrokerStringSaslScramを、このトピックの手順 1 で取得したブートストラップブローカー文字列に置き換えます。<path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringSaslScram--topicExampleTopicName--from-beginning --consumer.config client_sasl.properties
接続の問題のトラブルシューティング
Kafka クライアントコマンドを実行する際、特に大規模なトピックやデータセットを操作する場合、Java ヒープメモリエラーが発生する可能性があります。これらのエラーは、Kafka ツールが Java アプリケーションとしてデフォルトのメモリ設定で実行されるため、ワークロードに対して不十分な場合があります。
Out of Memory Java Heap エラーを解決するには、KAFKA_OPTS 環境変数を変更してメモリ設定を含めることで、Java ヒープサイズを増やすことができます。
次の例では、ヒープの最大サイズを 1GB (-Xmx1G) に設定します。この値は、使用可能なシステムメモリと要件に基づいて調整できます。
export KAFKA_OPTS="-Djava.security.auth.login.config=<path-to-jaas-file>/users_jaas.conf -Xmx1G"
大規模なトピックを消費する場合、メモリ使用量を抑えるために、--from-beginning の代わりに時間ベースまたはオフセットベースのパラメータの使用を検討してください。
<path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringSaslScram--topicExampleTopicName--max-messages 1000 --consumer.config client_sasl.properties