翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
サインイン認証情報を使用したクラスターへの接続
シークレットを作成してクラスターに関連付けると、クライアントをクラスターに接続できます。次の手順は、SASL/SCRAM 認証を使用するクラスターにクライアントを接続する方法を示しています。また、サンプルトピックに対して生成および消費する方法も示します。
SASL/SCRAM 認証を使用してクライアントをクラスターに接続する
-
AWS CLI がインストールされているマシンで次のコマンドを実行します。
clusterARN
をクラスターの ARN に置き換えます。aws kafka get-bootstrap-brokers --cluster-arn
clusterARN
このコマンドの 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