빠른 생성 시 클러스터의 이름과 Kafka 버전 그리고 브로커 유형이랑 스토리지 볼륨만 정해주면 됩니다.
사용자 지정 시 브로커 영역과 영역당 브로커 수를 추가로 지정해 주고
VPC와 영역과 서브넷 그리고 보안 그룹을 지정해 줍니다 다음으로
보안 설정 후
모니터링 기능 선택과 태그를 설정 후 검토를 끝내면 클러스터가 생성이 됩니다.
두 방식 중 하나로 클러스터를 생성 후에 클러스터에 보안 그룹에서 9092 포트를 열어줍니다
카파카는 9092를 기본으로 사용하고 있고 만약 주키퍼도 건드리게 된다면 2181 포트도 열어주면 됩니다.
만약 Spring Kafka를 사용한다면 KafkaTemplate을 통해 바로 사용이 가능합니다,
https://github.com/Dokkabei97/aws-msk-test 스프링 kafka 예제
아래 방식은 직접 카프카를 다운로드하고 연결해 주제와 토픽을 생성하는 방법입니다.
EC2를 생성 후 EC2에 자바를 설치해 주고 나서 (자바는 1.8 버전 이상이면 됩니다, 1.8, 11, 17 LTS 권장)
wget https://archive.apache.org/dist/kafka/2.6.2/kafka_2.12-2.6.2.tgz
tar -xzf kafka_2.12-2.6.2.tgz
위 명령어로 카프카를 다운로드하고 압축을 풀어줍니다.
그리고 MSK 클러스터를 통해 들어가서 오른쪽에 클라이언트 정보 보기
부트스트랩 서버에 일반 텍스트에 엔드 포인트 1개를 복사해서
카프카 경로/bin/kafka-topics.sh --create --bootstrap-server 카프카 엔드포인트 --replication-factor 3 --partitions 1 --topic MSKTutorialTopic
복사한 엔드 포인트를 넣어주고 위 명령어를 통해 토픽을 만들어 줍니다. 정상적으로 만들어진다면 "Created topic MSKTutorialTopic."라는 메시지가 표시됩니다.
kafka 폴더에 client.properties를 만들어 주고 아래 내용을 넣어 줍니다.
security.protocol=PLAINTEXT
그러고 나서 아래 명령어로 메시지를 입력합니다.
카프카 경로/bin/kafka-console-producer.sh --broker-list 카프카 엔드포인트 --producer.config client.properties --topic MSKTutorialTopic
메시지 입력하고 Enter 키를 누르면 다음 줄이 나오는데 또 다른 메시지를 입력하고 Enter를 누르면 몇 번 반복합니다. Kafka는 클러스터에 별도의 메시지로 전송됩니다.
그리고 Ctrl+C 키를 눌러 빠져나오고 아래 명령어로 보낸 메시지를 확인합니다.
카프카 경로/bin/kafka-console-consumer.sh --bootstrap-server 카프카 엔드포인트 --consumer.config client.properties --topic MSKTutorialTopic --from-beginning