1) MSK 클러스터를 생성 및 관련 네트워크를 구축
2) 클라이언트 생성(EC2) 후, MSK 클러스터를 활용하여 Topic, Producer, Consumer 테스트
3) API Gateway REST Proxy를 활용하여, Proxy URL을 통해 Topic별 메시지 전송 테스트
Public-Subnet-A / 10.0.0.0/24 / northeast a영역에 생성
Public-Subnet-B / 10.0.1.0/24 / northeast c영역에 생성
(생성 시, 최대 15분 걸린다고하지만 전 30분 걸렸어요..)
Kafka client로 사용할 EC2를 위에서 생성한 VPC내에 구축
Kafka Cluster와 EC2 클라이언트가 연결될 수 있도록 보안 그룹을 수정
(1) EC2 인스턴스의 인바운드 규칙으로 Kafka클러스터의 보안그룹을 소스유형으로 지정
(2) Kafka클러스터의 인바운드 규칙에 EC2인스턴스의 보안그룹을 소스유형으로 지정
sudo yum install java-1.8.0-openjdk
wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.12-2.8.1.tgz **(구축한 MSK 버전과 일치해야 합니다.)**
tar -xvf kafka_2.12-2.8.1.tgz
cd kafka_2.12-2.8.1
bin/kafka-topics.sh --create --topic demo --bootstrap-server {MSK 부트스탭서버} --replication-factor 1 --partitions 1
bin/kafka-console-producer.sh --topic demo --bootstrap-server {MSK 부트스탭서버}
bin/kafka-console-consumer.sh --topic demo_testing2 --bootstrap- {MSK 부트스탭서버}
wget http://packages.confluent.io/archive/5.1/confluent-5.1.2-2.11.zip
unzip confluent-5.1.2-2.11.zip
export CONFLUENT_HOME=/home/ec2-user/kafka_2.12-2.8.1/confluent-5.1.2
export PATH=$PATH:$CONFLUENT_HOME/bin
vi confluent-5.1.2/etc/kafka-rest/kafka-rest.properties
bootstrap.servers=PLAINTEXT://{MSK 부트랩서버1},PLAINTEXT://{MSK 부트랩서버2}
/home/ec2-user/kafka_2.12-2.8.1/confluent-5.1.2/bin/kafka-rest-start
/home/ec2-user/kafka_2.12-2.8.1/confluent-5.1.2/etc/kafka-rest/kafka-rest.properties
cd kafka_2.12-2.8.1
bin/kafka-console-consumer.sh --topic demo_testing2 --bootstrap-server {Put the MSK bootstrap server URLs}
Postman 테스트