MSK 클러스터 생성하기

이번엔 Amazon MSK를 이용해서 카프카 클러스터를 구축해보도록 하겠습니다.
1. 클러스터 생성 클릭
2. 클러스터 생성 방법 - 사용자 지정 생성 클릭
클러스터 생성 방법에는 두 가지 방식이 있다.
- 빠른 생성
VPC, Subnet 등등 자동으로 설정하여, 생성 후 대부분의 값 편집할 수 없음
- 사용자 지정 생성
네트워크와 보안 설정을 수정할 수 있음
3. 클러스터 유형 - 프로비저닝됨 클릭
- 서버리스
확장, 로드 관리와 같은 운영 면에서 편리하여 인프라 관리할 필요 없음
- 프로비저닝됨
클러스터 구성 시 유연성 제공함
4. Apache Kafka 버전 선택
권장 버전인 3.5.1 을 사용
5. 브로커 선택
개발 전용인 t3.small 선택
브로커 개수는 영역 당 브로커 수 1개, 영역 수를 3개로 지정하여 3개로 하겠다.
6. 스토리지 선택
개발용이라 적게 산정하여 2GiB 선택
7. 클러스터 구성 지정
다음과 같은 클러스터 구성을 지정하였다.
auto.create.topics.enable=true
delete.topic.enable=true
default.replication.factor=3
min.insync.replicas=2
num.io.threads=8
num.network.threads=5
num.partitions=1
num.replica.fetchers=2
replica.lag.time.max.ms=30000
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
socket.send.buffer.bytes=102400
unclean.leader.election.enable=true
zookeeper.session.timeout.ms=18000
allow.everyone.if.no.acl.found=false
Amazon MSK 기본 구성을 클릭하면 디폴트 값으로 설정되는데 다음과 같다
auto.create.topics.enable=false
default.replication.factor=3
min.insync.replicas=2
num.io.threads=8
num.network.threads=5
num.partitions=1
num.replica.fetchers=2
replica.lag.time.max.ms=30000
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
socket.send.buffer.bytes=102400
unclean.leader.election.enable=false
zookeeper.session.timeout.ms=18000
구성을 선택하고 다음 선택
8. 네트워크 선택
VPC와 Subnet과 보안 그룹 지정
9. 보안 지정
클라이언트 인증 및 권한 부여를 위해 다음과 같은 엑세스 제어 방법들이 있음
인증되지 않은 액세스
- 클라이언트 인증이 필요 없고 모든 작업이 허용
- 주로 내부 네트워크에서만 사용되는 방식
IAM 역할 기반 인증
- AWS Identity and Access Management(IAM)를 사용하여 MSK 클러스터에 대한 인증과 권한 부여를 처리
- Java 및 비 Java 클라이언트(Python, Go, JavaScript, .NET 등)에서 모두 지원
- IAM 정책을 통해 세부적인 권한 제어가 가능
- Amazon MSK에서 가장 권장되는 방식
SASL/SCRAM 인증
- 사용자 이름과 비밀번호를 사용하여 인증을 제공
- AWS Secrets Manager를 통해 자격 증명을 안전하게 저장하고 관리
- Apache Kafka ACL을 사용하여 사용자별 권한을 제어
TLS 클라이언트 인증
- AWS Private Certificate Authority(CA)를 사용하여 클라이언트를 인증
- 클라이언트와 MSK 브로커 간 보안 연결을 설정합니다
10. 모니터링
다음을 클릭하면 완료!

이제 20~30분 정도 오래 기다리시면 됩니다!
설정을 바꿀 때 마다 시간이 오래 소요되니, 이 점 참고 꼭 하시길 바랍니다!
'Kafka' 카테고리의 다른 글
[Apache Kafka] 9. 카프카 커넥트(3) - 커스텀 싱크 커넥터 (0) | 2024.11.03 |
---|---|
[Apache Kafka] 9. 카프카 커넥트(2) - 커스텀 소스 커넥터 (1) | 2024.11.02 |
[Apache Kafka] 9. 카프카 커넥트(1) - 카프카 커넥트 (5) | 2024.11.01 |
[Apache Kafka] 8. 카프카 스트림즈(2) - 윈도우 프로세싱 (0) | 2024.10.30 |
[Apache Kafka] 8. 카프카 스트림즈(1) - KStream,KTable,GlobalKTable (0) | 2024.10.29 |