Apache Kafka의 AKHQ 활용가이드

Apache Kafka의 AKHQ 활용가이드

개요

Apache Kafka HQ(AKHQ)는 Apache Kafka를 관리하고 모니터링하기 위한 오픈 소스 웹 인터페이스입니다. AKHQ는 Kafka 클러스터의 상태, Topic, Consumer Group 등을 시각화하고 제어할 수 있는 기능을 제공합니다. 직관적인 사용자 인터페이스를 통해 Kafka 관리 작업을 용이하게 수행할 수 있도록 다양한 기능을 제공합니다.

AKHQ 접속 방법

일반적으로 kafka는 private subnet에 구성하기 때문에 외부에서 접속이 불가능합니다. 따라서 public subnet에 Bastion(Window Server)을 별도 구성해서 접속하는 방법을 설명합니다.

AKHQ 구성 예시
그림. AKHQ 구성 예시

1. VPC Internet gateway(IGW) 생성

Apache Kafka와 Windows 서버 생성에 사용할 VPC의 IGW, Firewall 설정을 위한 사전 작업 (VPC 생성이 선행되어야 합니다.)

[SCP] 모든 상품 > Networking > VPC > Internet Gateway

VPC : Kafka와 Windows 서버 생성에 사용할 VPC 선택
구분 : Internet Gateway
Firewall : 사용 O
Internet gateway 생성
그림. Internet gateway 생성

2. Apache Kafka 생성

Apache Kafka와 Windows 서버 생성에 사용할 VPC의 IGW, Firewall 설정을 위한 사전 작업 (VPC 생성이 선행되어야 합니다.)

[SCP] 모든 상품 > Data Analytics > Apache Kafka(Managed)

AKHQ (Kafka 관리 툴 설치) : 사용 O
네트워크 – 일반 서브넷 : Private 서브넷 선택
Kafka 생성
그림. Kafka 생성

3. Windows 서버 생성

[SCP] 모든 상품 > Compute > Virtual Server

네트워크 – VPC : Kafka와 동일한 VPC 선택
네트워크 – 일반 서브넷 : Public 서브넷 선택
NAT : 사용 O
Windows 서버 생성
그림. Windows 서버 생성

4. 사용자 ↔ Windows 서버 간 방화벽 해제

[방화벽 해제 정보]

출발지 : 사용자 IP
도착지 : Windows 서버 NAT IP
포트 : 3389 (원격접속용)

5. Firewall(FW) 규칙 추가

[SCP] 모든 상품 > Networking > Firewall > Firewall 상세 > 규칙 탭 > 규칙 추가


[FW등록용 룰 정보]
사용자의 Windows 서버 원격 접속 용도 

출발지 IP : 사용자 IP 대역 (서버 접속용 VDI 경우 203.244.212.0/24)
목적지 IP : Windows 서버 내부 IP
프로토콜 : TCP
허용 포트 : 3389
동작 : Allow
방향 : Inbound

※ 서버접속용 VDI에서 외부 시스템 접속을 위해 외부 시스템의 방화벽 및 접근통제 설정에 SDS NAT 대역을 등록하신 경우에는 서버접속용 VDI 대역의 공인 IP 203.244.212.0/24 를 외부 시스템 방화벽 및 접근통제 설정에 등록

Firewall 규칙 추가
그림. Firewall 규칙 추가

6. Security Group(SG) 설정

[SCP] 모든 상품 > Networking > Security Group > 생성한 Security Group 상세 > 규칙 탭 > 규칙 추가

[ Windows 서버 SG등록용 룰 정보 ]

1.
방향 : Inbound 규칙
대상 주소 : 사용자 IP 대역 (서버 접속용 VDI일 경우 203.244.212.0/24)
프로토콜 : TCP
허용 포트 : 3389

2.
방향 : Outbound 규칙
대상 주소 : AKHQ 접속 IP (생성한 Apache Kafka 상세의 AKHQ 접속 정보에서 확인 가능)
프로토콜 : TCP
허용 포트 : 8080

Security Group 설정 1 (Windows 서버)
Security Group 설정 2 (Windows 서버)

[ Kafka 서버 SG등록용 룰 정보 ]

방향 : Inbound 규칙
대상 주소 : Windows 서버 내부 IP
프로토콜 : TCP
허용 포트 : 8080
Security Group 설정 (Kafka 서버)
그림. Security Group 설정 (Kafka 서버)

7. Google Chrome 설치

AKHQ 웹 페이지 접속을 위하여 Google Chrome 브라우저 설치가 필요합니다.

서버 접속용 VDI에서 Windows 서버에 원격 접속 할 경우

  1. Offline에서 설치 가능 한Google Chrome standalone 64bit 파일을 서버 접속용 VDI의 C 드라이브에 옮겨놓는다.
  2. 원격 데스크톱 연결 – 로컬 리소스 – 로컬 장치 및 리소스 – 자세히 버튼 클릭 드라이브 – 로컬 디스크 (C:) 선택
  3. Windows 서버에서 연결한 서버 접속용 VDI의 C 드라이브에서 Chrome 설치 파일을 옮겨 설치한다.

AKHQ 기능 활용

Topic 관리

Topic 목록

Topic 목록에서는 각 Topic의 이름, Partitions, Replications, Consumer Groups 등의 정보를 확인할 수 있고, Topic 삭제가 가능합니다.

Topic 목록
그림. Topic 목록

Topic 생성

새로운 Topic을 생성할 수 있습니다. Topic 생성 시에는 Topic의 이름, Partitions, Replication Factor 등의 속성을 설정할 수 있습니다.

Topic 생성
그림. Topic 생성

Topic 상세 정보 조회

  • Data : 특정 Topic의 발행 된 메시지를 조회할 수 있습니다. 메시지의 Partition, Offset 등의 세부 정보를 확인할 수 있습니다.
Topic 상세 정보 조회 (Data)
그림. Topic 상세 정보 조회 (Data)
  • Data – Search : Topic의 메시지를 검색하고 필터링하는 기능을 제공합니다. 특정 시간이나 Offset 범위를 지정하여 메시지를 조회할 수 있습니다.
Topic 상세 정보 조회 (Data)
그림. Topic 상세 정보 조회 (Data)
  • Partitions : 특정 Topic의 Partitions, Replication Factor, Leader Partition, Offset 등의 세부 정보를 확인할 수 있습니다.
Topic 상세 정보 조회 (Partitions)
그림. Topic 상세 정보 조회 (Partitions)
  • Consumer Groups : 특정 Topic의 현재 Consumer Group의 상태, 멤버 등을 확인할 수 있습니다.
Topic 상세 정보 조회 (Consumer Groups)
그림. Topic 상세 정보 조회 (Consumer Groups)
  • Configs : 특정 Topic의 속성 값을 수정할 수 있습니다.
Topic 상세 정보 조회 (Configs)
그림. Topic 상세 정보 조회 (Configs)

Consumer Groups

모든 Topic의 Consumer Group의 상태를 모니터링 할 수 있습니다. Consumer Group의 멤버를 확인하고, Consumer Offset을 재설정하거나 그룹에서 제거할 수 있습니다.

Consumer Groups
그림. Consumer Groups

Live Tail

선택한 Topic에 새로운 메시지가 도착하면 AKHQ는 자동으로 업데이트하여 최신 메시지를 표시합니다. 이를 통해 실시간으로 데이터 스트림을 모니터링 할 수 있습니다.

Live Tail
그림. Live Tail