kafka 2.8.2버전입니다.
배경은 이러합니다.
1. kafka cluster는 내부망에 위치합니다.
2. kafka 서버에 데이터를 전송하는 client는 외부망에 위치합니다.
3. 정책 상 외부에서 내부로 데이터를 전송할 시, ssl 인증이 필수였습니다.
4. 이에 kafka cluster 내부망끼리의 통신은 디폴틀값인 PLAINTEXT, 외부 client에서 데이터를 받을 때는 SSL을 사용하기로 하였습니다.
5. kafka 서버단에서 포트를 2개 열어 각 인증체계를 부여하였습니다.
6. PLAINTEXT -> 9092포트, SSL -> 9093포트입니다.
vi ${KAFKA_HOME}/config/server.properties
listeners=PLAINTEXT://:9092, SSL://:9093
# 디폴트값
listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
advertised.listeners=PLAINTEXT://[각 KAFKA 브로커 호스트명]:9092, SSL://[각 KAFKA 브로커 호스트명]:9093
# 추가
ssl.keystore.location=[keystore.jks 위치]
ssl.keystore.password=[keystore 비밀번호]
ssl.key.password=[key 비밀번호]
ssl.truststore.location=[truststore.jks 위치]
ssl.truststore.password=[truststore 비밀번호]
# 클라이언트 단 인증 방식
ssl.client.auth=required
# Kafka 서버 브로커들끼리 통신할 방법
security.inter.broker.protocol=PLAINTEXT
# 빈 값으로 추가
ssl.endpoint.identification.algorithm=
# 수정 후 kafka 서버 재실행필요
이후 클라이언트 설정은 아래 링크를 참조해주시기 바랍니다.
https://developer-woong.tistory.com/79
'BigData > Kafka' 카테고리의 다른 글
kafka) kafka SSL설정 (0) | 2023.12.28 |
---|---|
kafka) kafka topic 메시지 보존 기간 설정 (0) | 2023.12.19 |
kafka) Exception in thread "main" joptsimple.UnrecognizedOptionException: after is not a recognized option kafka topic 삭제주기 (0) | 2023.12.19 |
Kafka topic producer consumer 테스트 (0) | 2023.07.25 |
Apache Kafka 설치 (0) | 2023.07.25 |