MSK 클러스터내의 브로커의 파티션수가 권장 파티션수를 넘어가는 경우 클러스터의 구성 업데이트, 버전업데이트 등의 작업이 수행되지 않을 수 있습니다. 해당 기사에서는 이러한 경우를 직면했을때 또는 미리 예방하는 방법을 안내해드립니다.
문제 상황
일반적으로 브로커의 유형에 따라 권장되는 파티션 수(리더 및 팔로어 복제본 포함)가 정해져있습니다.
만일 클러스터 브로커의 권장 파티션수를 넘어가는 경우 클러스터에 과부하가 주어지게 되며 아래와 같은 작업이 수행을 못할수도 있습니다. [1]
클러스터 구성 업데이트
클러스터에 대한 Apache Kafka 버전 업데이트
더 작은 브로커 유형으로 클러스터 업데이트
AWS Secrets Manager 암호를 SASL/SCRAM 인증이 있는 클러스터와 연결
일반적으로 브로커 유형에 따라 권장되는 파티션수는 아래와 같습니다.
브로커 유형
브로커당 권장 파티션 수(리더 및 팔로어 복제본 포함)
kafka.t3.small
300
kafka.m5.large 또는 kafka.m5.xlarge
1000
kafka.m5.2xlarge
2000
kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge 또는 kafka.m5.24xlarge
4000
kafka.m7g.large 또는 kafka.m7g.xlarge
1000
kafka.m7g.2xlarge
2000
kafka.m7g.4xlarge,, 또는 kafka.m7g.8xlargekafka.m7g.12xlargekafka.m7g.16xlarge
4000
문제 해결 방법
만일 클러스터 구성 업데이트, 버전 업데이트 등의 작업이 수행되지 않는 경우에 CloudWatch에서 클러스터 브로커의 PartitionCount를 확인합니다. [2]
브로커의 PartitionCount가 권장 파티션의 수를 넘어간것을 확인하면 아래와 같은 방법을 선택하여 권장 파티션 수 이내로 클러스터를 되돌릴수 있습니다.
토픽 및 파티션 정리: 사용하지 않는 토픽 및 파티션을 정리하여 브로커당 권장 파티션 수 이내로 줄인 뒤, Reassign partitions 동작을 수행합니다.[3]
인스턴스 타입 변경 및 노드 추가: 브로커 노드의 수를 늘리고 클러스터의 인스턴스 타입을 확장하여 최대 파티션 제한을 늘린 뒤 클러스터의 처리량을 늘린뒤에 Reassign partitions 을 수행합니다.[4]