기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
로그인 보안 인증 정보를 사용하여 클러스터에 연결
보안 암호를 생성하고 클러스터에 연결하면 클라이언트를 클러스터에 연결할 수 있습니다. 다음 절차에서는 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